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

标签 python django ubuntu virtualenv pythonpath

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

Traceback (most recent call last): File "manage.py", line 17, in "Couldn't import Django. Are you sure it's installed and " ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?



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

export PYTHONPATH="/usr/local/lib/python2.7/dist-packages/django"



进入我的 venv/bin/activate 脚本。现在激活 virtualenv 我可以进入 python 并输入

import sys
sys.path
['', '/usr/local/lib/python2.7/dist-packages/django', '/home/ubuntu/TravelBuddy/venv/lib/python2.7', '/home/ubuntu/TravelBuddy/venv/lib/python2.7/plat-x86_64-linux-gnu', '/home/ubuntu/TravelBuddy/venv/lib/python2.7/lib-tk', '/home/ubuntu/TravelBuddy/venv/lib/python2.7/lib-old', '/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/python2.7/site-packages', '/home/ubuntu/TravelBuddy/venv/lib/python2.7/site-packages']



如您所见,django 确实在我的 python 路径中。我认为这会解决问题,但它没有:它仍然说无法导入 Django。现在我很困惑,因为当我停用我的 virtualenv 并导入 Django 时,它确实有效。

这是当我停用我的 virtualenv 并执行 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-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']

最佳答案

好的,我发现了问题所在。事实证明,当我启动 virtualenv 时,我使用了 sudo 命令,但是当我 pip install 我的包时,我没有使用 sudo 命令,这导致了权限问题或在安装包时出现了某种问题。所以它使 django 没有出现在路径上。启动虚拟环境时,切勿使用 sudo 命令...

关于python - 无法在 virtualenv 中导入 django,但在停用时可以工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42405551/

相关文章:

python - 奇怪的 python 搜索路径行为,这里出了什么问题?

Django 上的 Java 项目?

ubuntu - 如何在 Ubuntu 13.10 上安装 Graphite?

bash - 将传感器输出提取到排序数组中

python - Pandas:使用波浪号运算符通过两个过滤器返回反向数据

python - 我的播放器移动不正确,按住键时,它应该连续移动,但只移动一次

python - 将python中由换行符分隔的字符串文件解析为json数组

Django 模板 : How to access a form field equal to a variable value?

django 一对多关系

python - 我如何使用ansible在ubuntu上安装python 2.7.3