virtualenv在生产中的位置

时间:2016-01-10 00:52:18

标签: python django virtualenv virtualenvwrapper

我正在部署Django网站,我使用virtualenv来保持我的Python安装整洁。我试图找出虚拟环境在生产服务器环境中的位置。看起来这应该是超级简单的,但它给了我一个怪物头痛。任何帮助将不胜感激!

我的计划是使用virtualenvwrapper来创建我的虚拟环境。默认情况下,这会将virtualenv存储在~/.virtualenvs中,在本例中为/home/james/virtualenvs/。当我在我的本地计算机上运行用户james下的所有内容时,这在开发中很好。但是,我不相信用户james将在生产服务器上的virtualenv中运行代码;相反,我相信它会成为www-datawww-data是否应该到达james以访问virtualenv,或者有没有办法将virtualenv安装到www-data?似乎应该有一种在生产中配置virtualenvs的标准化方法,但我似乎无法找到任何东西。

提前感谢您提供任何帮助!

3 个答案:

答案 0 :(得分:4)

基本上,您可以将虚拟环境放在任何适合您的地方,并且可以由运行python进程的用户读取。出于安全原因,您应该考虑将ve创建为其他用户,以便该进程无权写入。

答案 1 :(得分:0)

我总是这样构建:

virtualenvs:

/user/var/www/project/virtualenvs/myapp_env1
/user/var/www/project/virtualenvs/myapp_env2
/user/var/www/project/virtualenvs/myapp_env3
....

应用:

/user/var/www/project/applications/myapp1
/user/var/www/project/applications/myapp2
/user/var/www/project/applications/myapp3
...

我实际上知道这些东西不应该在/ var / www /下面,但是我从来没有注意过它..

每个应用都有自己的用户,以appname命名。

答案 2 :(得分:0)

我以与你相同的方式设置我的virtualenv。 你应该做的是将james添加到群组www-data,它应该没问题。

sudo adduser james www-data