Django:使用 sudo 在虚拟环境中运行服务器
Posted
技术标签:
【中文标题】Django:使用 sudo 在虚拟环境中运行服务器【英文标题】:Django: use sudo to run server in virtual environment 【发布时间】:2018-01-11 20:33:46 【问题描述】:我在我的服务器上设置了 Django。
我已经激活了我的虚拟环境,并且可以在 8000 端口上成功运行服务器:
python manage.py runserver
我想使用端口 80,这样我就可以从外部访问(测试)我的应用,所以我使用:
sudo python manage.py runserver
但这给了我一个错误:
Traceback (most recent call last):
File "manage.py", line 17, in <module>
"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?
谁能解释一下原因?
【问题讨论】:
您不得使用 sudo 运行类似的操作。这是一个巨大的安全风险。 【参考方案1】:如果您在没有sudo
命令的情况下创建virtualenv
,则会出现问题,
virtualenv
是一个单独的环境可供用户创建,
所以如果你在没有sudo
命令的情况下运行python manage.py runserver
,它将正常运行,
否则install
django
将sudo
正确并尝试sudo python manage.py runserver
【讨论】:
【参考方案2】:你可以试试:
sudo `which python` manage.py runserver
在你的 virtualenv 中从 sudo 运行 django。 希望对您有所帮助。
【讨论】:
以上是关于Django:使用 sudo 在虚拟环境中运行服务器的主要内容,如果未能解决你的问题,请参考以下文章