RHEL5に基づいて新しいサーバーをセットアップしていて、それに付属していないいくつかのpythonモジュールをインストールしたいと思っています。setuptoolsには、RPMパッケージをビルドするオプションがあることを確認しました。モジュールですが、残念ながら、これはsetup.py
でのみ機能し、easy_install
では機能しません。ただし、手動のeasy_install
がオプションにならないように、setup.py
の依存関係の解決を維持したいと思います。
この状況をどのように解決しますか?特に、RHEL5のstock pythonは、デフォルトで/usr/local
の下にpythonパスを定義していないため、パッケージを/usr/local
にインストールすることは避けたいと思います。
追加のRPMリポジトリを使用できる場合、1つのオプションは、探しているPythonパッケージがEPEL(Enterprise Linux用の追加パッケージ)リポジトリで利用可能かどうかを確認することです。
http://fedoraproject.org/wiki/EPEL を参照してください
まず、最初の試みとして、OSディストリビューション(Red Hat、Debianなど)から直接インストールしない限り、何もインストールしないようにします。もちろん、特にエンタープライズディストリビューションの場合、多くのものが利用できないという問題があります。
この場合、RPMにパッケージ化されているからといって、RPMが適切であるとは限らないため、RPMを生成するものに依存することはありません。
私がすること(私がすること:)は、このPythonモジュールを自分で作成するためのスペックファイルを作成することです。
特にセットアップツールで...
pythonX.Y setup.py build
pythonX.Y setup.py install --root=<my-build-area> --<other-options>
このようにして、インストールする場所を完全に制御できます。
これを行う簡単でpythonフレンドリーな方法は、 virtualenv を使用することです。これには、ソース$ HOME/.pystuff/bin /を実行した後にのみ使用可能になるという警告があります。コマンドをアクティブ化しますが、システムディストリビューションの汚染を最小限に抑えながら、pythonパッケージの全世界を利用できるようにするという利点があります。
もちろん、独自のシステムpythonパッケージを検索して構築することもできますが、正直なところ、ほとんどの用途では、その価値よりも面倒です。それを行う場合は、seutptoolsとvirtualenvから始めてください。明らかに= p
wget http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py
easy_install virtualenv
virtualenv $HOME/.pystuff
source $HOME/.pystuff/bin/activate
easy_install pip
easy_install <random_pypy_stuff>
easy_install <random .Egg file>
easy_install <random .tar.gz file>
pip install <other random stuff that won't install with easy_install>