有一件事我喜歡Rails的項目是部署到遠程服務器時,如果一切設置正確,你可以這樣做:Django是否具有相當於Rails的「捆綁安裝」?
$: bundle install
,系統將自動安裝所需要的各種依賴關係(紅寶石寶石)運行該項目。
Python/Django有類似的東西嗎?
有一件事我喜歡Rails的項目是部署到遠程服務器時,如果一切設置正確,你可以這樣做:Django是否具有相當於Rails的「捆綁安裝」?
$: bundle install
,系統將自動安裝所需要的各種依賴關係(紅寶石寶石)運行該項目。
Python/Django有類似的東西嗎?
您可以凍結的要求。這將生成您的項目需要的所有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
最後一行生成一個文本文件將被安裝在您的自定義環境中的所有軟件包。您可以使用該文件在其他服務器上安裝相同的要求:
pip install -r requirements.txt
當然你不需要使用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
最接近的可能是virtualenv,pip和requirements file。使用這3種成分很容易編寫簡單的引導腳本。
更苛刻和複雜的是buildout。但是如果virtualenv和pip不夠,我只會去做。
很好地工作,謝謝。 – nemesisdesign