w00*_*00d 75 python deployment django
我一直在使用virtualenv在localhost中测试我的应用程序,因为我有孤立的环境,可以安全地测试新版本的软件包.
现在,我必须将我的应用程序部署到生产服务器.我想知道我是否也应该使用virtualenv生产服务器或只是正常安装应该做.由于它是生产服务器,我总是可以使用我在开发服务器中测试的正确版本(在virtual-env下)
Kur*_*urt 47
如果您认为您将在网络服务器上运行多个项目,我会这样做.一旦你有两个项目,你就冒着将来升级任何python包破坏其他站点的风险.
Gre*_*hov 15
virtualenv推荐用于django生产服务器吗?
是的,它使您的项目不依赖于系统环境的某些方面,并且它还允许您使部署过程更加清晰和可配置.
我使用fabric,pip和virtualenv来部署我所有的Django项目.
小智 9
是的,我认为您应该使用virtualenv将其部署到生产环境中.它使事情变得更容易和更清洁,特别是如果您计划部署多个服务,例如基于django的网站或其他python项目.您不希望他们每个人都使用他们的包来污染全局python环境.
我认为virtualenv将帮助您干净地管理所有依赖项.
要更新您的生产环境,您只需要:
pip -r name_of_your_requirements_file.txt
Run Code Online (Sandbox Code Playgroud)
我在生产中使用virtualenvs,你可以使用uWSGI为应用程序提供服务,将Cherokee作为Web服务器.
要在生产中使用virtualenv,您需要将其路径添加到PYTHONPATH.
例如,如果您的env具有路径"/ home/www/my_project/env /",则添加的路径将是:
/home/www/env/lib/python2.7/site-packages/
Run Code Online (Sandbox Code Playgroud)
您可以通过多种不同的方式进行设置,但如果您通过manage.py生成FCGI或uWSGI界面,只需在manage.py的最顶层添加以下内容(在其余部分之前):
import os
my_virtualenv_path = "/home/www/my_project/env/lib/python2.7/site-packages/"
# Add it to your PYTHONPATH
os.path.append(my_virtualenv_path)
Run Code Online (Sandbox Code Playgroud)
您可以根据自己的设置进行调整,以防万一您也可以在shell中执行以下操作:
export PYTHONPATH:$PYTHONPATH:/home/www/my_project/env/lib/python2.7/site-packages/
Run Code Online (Sandbox Code Playgroud)
您还需要将包含settings.py文件的目录添加到PYTHONPATH,以便Django能够发现它.只需按照类似的方式进行操作即可.
| 归档时间: |
|
| 查看次数: |
16419 次 |
| 最近记录: |