同様の状況に遭遇したとき、特に本番サーバーなど、何かを壊すのが恥ずかしい場合は、通常、パッケージマネージャーを避けます。代わりに、Activestateに移動して、バイナリパッケージをダウンロードします。
https://www.activestate.com/activepython/downloads/
これは、すべてをフォルダーに配置し、システムファイルにアクセスしないスクリプトを実行することによってインストールされます。実際、それを設定するためにroot権限さえ必要ありません。次に、バイナリの名前をapy26のような名前に変更し、そのフォルダーをPATHの最後に追加して、コーディングを開始します。apy26 setup.py install
virtualenvとeasyinstallを使用してパッケージをインストールする場合、またはvirtualenvとeasyinstallを使用する場合は、システム標準のpythonに触れることなく、必要なだけ柔軟なpython環境を使用できます。
編集...最近、外部依存関係のないディストリビューションで実行できるLinux用のポータブルPythonバイナリを構築するための作業をいくつか行いました。これは、ポータブルPythonモジュールに必要なバイナリ共有ライブラリがビルドの一部であり、tarballに含まれ、Pythonのプライベートディレクトリ構造にインストールされることを意味します。このようにして、システムにインストールされているPythonに干渉することなく、アプリケーションにPythonをインストールできます。
私のgithubサイトには、Ubuntu Lucid 10.04LTSで32ビットと64ビットの両方のインストールで徹底的にテストされたビルドスクリプトがあります。私もDebianEtchでビルドしましたが、それは少し前のことで、何かを変更していないことを保証することはできません。これを行う最も簡単な方法は、選択したUbuntu Lucidを仮想マシンに配置し、スクリプトをチェックアウトすることです。git clone git://github.com/wavetossed/pybuild.git
実行することです。
ビルドしたら、最近のLinuxディストリビューションでtarballを使用します。それ以外のディレクトリに移動することには、ディレクトリを移動する前に/data1/packages/python272
、インクルードpatchelf
を実行してインタプリタパスを設定する必要があるという小さな問題が1つあります。これは、のすべてのバイナリに影響します/data1/packages/python272/bin
これはすべて、RUNPATHを使用してビルドし、依存する共有ライブラリをコピーすることに基づいています。スクリプトは複数のファイルにありますが、事実上、/ etc /rc.dディレクトリのスタイルで配置された1つの長いシェルスクリプトです。