web-dev-qa-db-ja.com

easy_installとbdist_rpmを使用してインストールできますか?

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 を参照してください

1
David Narayan

まず、最初の試みとして、OSディストリビューション(Red Hat、Debianなど)から直接インストールしない限り、何もインストールしないようにします。もちろん、特にエンタープライズディストリビューションの場合、多くのものが利用できないという問題があります。

この場合、RPMにパッケージ化されているからといって、RPMが適切であるとは限らないため、RPMを生成するものに依存することはありません。

私がすること(私がすること:)は、このPythonモジュールを自分で作成するためのスペックファイルを作成することです。

特にセットアップツールで...

  pythonX.Y setup.py build
  pythonX.Y setup.py install --root=<my-build-area> --<other-options>

このようにして、インストールする場所を完全に制御できます。

0
Xerxes

これを行う簡単で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>
0
easel