1

開発マシンに requirements.txt ファイルがあります。私はそれをgitリポジトリにプッシュし、サーバーに複製しました。

サーバーに変更をプッシュする方法は次のとおりです。

開発マシンでファイルをフリーズしてから、そのファイルを git に追加してサーバーにプルし、pip install -r requirements.txt を実行します。

しかし、これを行うと、すべてのパッケージを何度もインストールすることになり、それは望ましくありません。サーバーにインストールされていないパッケージのみをインストールしたい。

これを行う最良の方法は何ですか?また、開発コードをサーバーにプッシュする他の効率的な方法も知りたいです。

4

1 に答える 1

1

buildoutを使用します。これは別の方法です。Buildout はインストール前にパッケージをチェックするため、不要なパッケージは再インストールされません。

それは非常に強力なツールです。デプロイするときは、 make を実行するだけでよくgit push、本番サーバーで次のことを行います。

git pull
bin/buildout

それでおしまい。Buildout と pip+virtualenvの違いに関する記事を読むことができます

編集:


PIP_DOWNLOAD_CACHEパスを設定して、ダウンロードしたすべてのパッケージをあるディレクトリ (たとえばsettings.py' ') に保存するように pip に指示することができます。packages

import os.path

PROJECT_ROOT = os.path.normpath(os.path.dirname(__file__))
PIP_DOWNLOAD_CACHE = os.path.abspath(PROJECT_ROOT+'/packages/'),
于 2013-11-14T13:53:32.350 に答える