无法在 virtualenv 中导入 django,但在停用时可以工作



我正在尝试使用Ubuntu 16.04在Amazon AWS上部署我的Django项目。我正在运行Python版本2.7.12和Django 1.10.5。我创建了名为VENV的Virtualenv,然后激活了它。当我尝试运行python manage.py runserver时,我会遇到此错误。

追溯(最近的最新通话): 文件" manage.py",第17行,in "无法导入Django。您确定它已安装吗?" Importerror:无法导入Django。您确定它已安装并在您的PythonPath环境变量上使用吗?您是否忘记了激活虚拟环境?

然后,我意识到Django可能不在我的Python路径中。所以我添加了

导出pythonpath ="/usr/local/lib/python2.7/dist-packages/django"

进入我的VENV/bin/激活脚本。现在,随着Virtualenv激活我可以进入Python并键入

导入系统
sys.path
[',','/usr/local/lib/python2.7/dist-packages/django','/home/ubuntu/travelbuddy/venv/lib/python2.7'lib/python2.7/plat-x86_64-linux-gnu','/home/ubuntu/travelbuddy/venv/lib/python2.7/lib-tk','/home/home/home/ubuntu/travelbuddy/travelbuddy/venv/venv/lib/python2。7/lib over','/home/ubuntu/travelbuddy/venv/lib/python2.7/lib-dynload','/usr/lib/python2.7','/usr/lib/python2.7/plat-x86_64-linux-gnu','/usr/lib/python2.7/lib-tk','/home/ubuntu/travelbuddy/venv/local/lib/lib/python2.7/site-packages','/home/home/home/home/home/homeubuntu/travelbuddy/venv/lib/python2.7/site-packages']

您现在可以看到Django确实处于我的python路径中。我认为这要解决这个问题,但没有:它仍然说无法进口Django。现在我感到困惑,因为当我停用我的Virtualenv并导入Django时,它确实有效。

这就是我停用虚拟vithualenv并做sys.path

时打印出来的。

['','/usr/local/lib/python2.7/dist-packages/django','/usr/lib/python2.7','/usr/lib/python2.7/plat-x86_64-linux-gnu','/usr/lib/python2.7/lib-tk','/usr/lib/python2.7/lib over','/usr/lib/python2.7/lib-dynload','/usr/local/lib/python2.7/dist-packages','/usr/lib/python2.7/dist-packages']

好吧,我发现了问题所在。事实证明,当我启动Virtualenv时,我使用了sudo命令,但是当我安装软件包时,我没有使用sudo命令,该命令在安装软件包时会引起权限问题或某种形式。因此,这使Django没有出现在路径上。启动虚拟env时,切勿使用sudo命令...

1-安装python3 brew install python32-安装Django pip3 install django

最新更新