私はpip要件の依存関係をどのように管理できるか好きです。 apt-getの場合に類似したものはありますか?pipのようなapt-getのための要件ファイル
http://www.pip-installer.org/en/latest/requirements.html#requirements-file-format
私はpip要件の依存関係をどのように管理できるか好きです。 apt-getの場合に類似したものはありますか?pipのようなapt-getのための要件ファイル
http://www.pip-installer.org/en/latest/requirements.html#requirements-file-format
あなたの質問は、あなたが1つのコマンドでそれをインストールすることができることのために、一つのファイルにシステム依存性のリストを持つようにしたいということです。
システムの依存関係にパッケージのバージョンを含めることはお勧めしません。 "build-essential"や "uuid-dev"のようなソフトシステムの依存関係では、通常、最新バージョンのパッケージが必要です。 pythonやpostgresなどのような "ハード依存"では、通常、バージョンは "python2.6-dev"や "postgresql-8.4"のようにパッケージ自体の名前で指定されます。パッケージの正確なバージョンを定義する別の問題は、バージョン8.4.11-1のpostgresql-8.4が3か月または1年でリポジトリで利用できなくなり、レポの現在のバージョン。
例。あなたのINSTALLファイルにシステムパッケージをインストールする方法について説明し、その後
python-virtualenv
python2.6-dev
uuid-dev
python-pip
postgresql-8.4
:あなたは、あなたがプロジェクトのために必要なシステムパッケージで「requirements.system」という名前のファイルを作成することができます。
# Install system depencences by running
cat ~/project/install/requirements.system | xargs sudo aptitude install
我々は、約2年間、この設定を実行しているscrachから数回的環境を再作成する必要が、我々は問題を抱えていたことがありません。
また、パッケージのバージョン番号を追加することもできます。 'package_name = version'(' python-virtualenv = 1.7.1.2-1')を使って同様の方法でpipします。しかし、DebianミラーはPyPIリポジトリと同数の古いパッケージバージョンを維持していないので、pipと同じくらい有用ではないかもしれません。 – C2H5OH
いくつかのdpkgが本当に悪いので、バージョンを指定したいことがあります。私はmemecacheまたは似たような古いバージョンが必要であることを覚えているか、インストールに失敗します。コーナーケースなので、時には良いことです。また、特定の状態でシステムが正常であるとわかっている場合は、その状態を再現する必要があります。最新のものが必要な場合、標準のデプロイメント・ワークフローは、指定した要件(最新バージョンを使用)を使用してゼロから新しい環境を作成し、テストします。 – CppLearner
catは不要です: 'xargs apt-get install
どういう意味ですか? –
バージョン依存関係ですか?そうであれば、答えはイエスです。バージョンマネージャーに依存しないパッケージマネージャーはありません。 – Dikei
パッケージをバルクにインストールするためにrequirements.txtファイルがあることを意味しました – Halst