[英]“ImportError: Couldn't import Django.” even after having Django in Virtualenv
[英]couldn't import django in virtualenv but works when deactivated
我正在尝试使用Ubuntu 16.04在Amazon AWS上部署Django项目。 我正在运行python版本2.7.12和Django 1.10.5。 我创建了名为venv的virtualenv,然后将其激活。 当我尝试运行python manage.py runserver时出现此错误。
追溯(最近一次调用):“无法导入Django。”中的文件“ manage.py”,第17行,您确定已安装并且“导入错误:无法导入Django。 您确定已在PYTHONPATH环境变量中安装并使用该变量吗? 您是否忘记了激活虚拟环境?
然后我意识到Django可能不在我的python路径中。 所以我加了
导出PYTHONPATH =“ / usr / local / lib / python2.7 / dist-packages / django”
进入我的venv / bin / activate脚本。 现在激活了virtualenv,我可以进入python并输入
导入系统
系统路径
['','/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命令,但是当我点子安装我的软件包时,我没有使用sudo命令,这会在安装软件包时导致权限问题或某种原因。 因此,django没有出现在路径上。 启动虚拟环境时,请勿使用sudo命令...
1-安装python3 brew install python3
2-安装django pip3 install django
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.