pip またはリポジトリからの easy_install を使用した Python パッケージのインストール
-
06-07-2019 - |
質問
私にとって、これまでのところ、Python パッケージのインストールに対処する最も簡単な方法は、ソース管理システムからソースをチェックアウトし、Python dist-packages フォルダーにシンボリック リンクを追加することでした。
ソース管理はダウングレード、ブランチ、タグへのアップグレードを完全に制御できるため、非常にうまく機能します。
パッケージ インストーラー (easy_install または pip など) のいずれかを使用する方法はありますか。同じことを達成できます。
easy_install は tar.gz を取得し、python2.6 の dist-packages フォルダーにインストールされる setup.py install を使用してインストールします。それを構成する方法、または代わりにソースバージョン管理システム (SVN/GIT/Hg/Bzr) を使用する pip はありますか。
解決
pip を使用すると、これは非常に簡単です。例えば:
pip install -e hg+http://bitbucket.org/andrewgodwin/south/#egg=South
Pipはソースリポジトリを自動的に複製し、「setup.py開発」を実行します。ご使用の環境にインストールすることをお勧めします(これは virtualenv です)。 Git、Subversion、Bazaar、Mercurialはすべてサポートされています。
「pip freeze」を実行することもできますまた、現在インストールされているパッケージのリストとその正確なバージョン(開発インストールの場合はVCSからの正確なリビジョンを含む)が出力されます。これを要件ファイルに直接入れて、後で実行できます
pip install -r requirements.txt
まったく同じバージョンの同じパッケージセットをインストールします。
他のヒント
パッケージのソース配布 (パッケージ内に「setup.py」が含まれるパッケージ) をダウンロードまたはチェックアウトする場合、そのパッケージが (easy_install の機能でもある) 「setuptools」 に基づいている場合は、そのパッケージに移動できます。ディレクトリを指定して次のように言います。
$ python setup.py develop
そして、dist-packages に適切なシンボリックリンクが作成され、コピーが個別にインストールされるのではなく、ソース ディストリビューション内の .py ファイルがインポートされるようになります (これが「setup.py install」の動作です。つまり、個別のコピーを作成します)。ソース コードを編集して変更を試みる場合は、すぐに変更しないでください)。
他の回答が示すように、詳細については「setuptools」ドキュメントを読んでみてください。「setup.py detect」は本当に便利な機能です!virtualenv と組み合わせて使用してみると、一時的にのみ開発しているパッケージでシステム全体の Python を台無しにすることなく、簡単に「setup.py 開発」できます。
http://pypi.python.org/pypi/virtualenv
easy_installは、特定のバージョンのダウンロードをサポートしています。例:
easy_install python-dateutil==1.4.0
v1.4をインストールしますが、バージョンが指定されていない場合は最新バージョン1.4.1が選択されます。
svn checkoutsのサポートもありますが、それを使用しても、マニュアルバージョンのメリットはあまりありません。上記の詳細については、マニュアルを参照してください。
問題のパッケージを開発している場合を除き、特定のブランチに切り替えることができることはめったにありません。通常は、とにかくそれらをサイトパッケージにインストールすることはお勧めできません。
easy_installはソースツリーのURLも受け入れます。少なくともソースがSubversionにある場合は機能します。