我喜欢Rails项目的一件事是,当部署到远程服务器时,如果一切设置正确,你可以这样做:
$: bundle install
Run Code Online (Sandbox Code Playgroud)
系统将安装运行项目所需的各种依赖项(ruby gems).
Python/Django有类似的东西吗?
Bur*_*lid 11
您可以冻结要求.这将生成项目所需的所有Python模块的列表.我相信bundle在概念上是相似的.
例如:
virtualenv --no-site-packages myproject_env # create a blank Python virtual environment
source myproject_env/bin/activate # activate it
(myproject_env)$ pip install django # install django into the virtual environment
(myproject_env)$ pip install other_package # etc.
...
(myproject_env)$ pip freeze > requirements.txt
Run Code Online (Sandbox Code Playgroud)
最后一行生成一个文本文件,其中包含自定义环境中安装的所有软件包.您可以使用该文件在其他服务器上安装相同的要求:
pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
当然你不需要使用pip,你可以手工创建需求文件; 它没有任何特殊的语法要求.每行只是一个包和(可能)版本标识符.这是一个典型的django项目的示例,其中包含一些额外的包:
Django==1.4
South==0.7.4
Werkzeug==0.8.3
amqplib==1.0.2
anyjson==0.3.1
celery==2.5.1
django-celery==2.5.1
django-debug-toolbar==0.9.4
django-extensions==0.8
django-guardian==1.0.4
django-picklefield==0.2.0
kombu==2.1.4
psycopg2==2.4.5
python-dateutil==2.1
six==1.1.0
wsgiref==0.1.2
xlwt==0.7.3
Run Code Online (Sandbox Code Playgroud)