如何在当前的python虚拟环境中执行sudo?

时间:2016-06-13 10:32:06

标签: python django sudo port80

我有一个django网站设置并在Ubuntu上的python虚拟环境(venv)中配置,一切正常。现在为了在port80上运行我的服务器,我需要使用" sudo"它不会在虚拟环境的上下文中执行,引发错误(即没有名为django的模块......)

有没有办法获得" sudo"在python虚拟环境的上下文中执行?!

4 个答案:

答案 0 :(得分:3)

不,你不需要这样做。您不应该尝试在端口80上运行开发服务器;如果您正在设置生产环境,请使用正确的服务器。

答案 1 :(得分:1)

正如@DanielRoseman所说,你不应该在生产中使用Django开发服务器。

但是如果你需要在端口80上运行开发服务器,你必须直接引用虚拟环境python可执行文件。

sudo ../bin/python manage.py runserver localhost:80

答案 2 :(得分:-1)

This should be the solution. 即便如此,我也不愿意这样做。如果你需要在Python中使用sudo,你可能会走错路。

答案 3 :(得分:-1)

这就是诀窍:

$ sudo -- sh -c './venv-bin-path/activate; gunicorn <params> -b 0.0.0.0:80'