Pythonには、Linuxディストリビューション(Ubuntuを含む)によるものと並行して、独自のパッケージ管理機能があります。リポジトリはPypi-PythonPackageIndexであり、パッケージはpip
、Pythonのsetuptoolsパッケージの一部であるeasy_installスクリプトを使用してインストールされます。
経験則として、pip / setuptoolsを介してインストールされたパッケージと、ディストリビューションで利用可能なパッケージ(apt-get、yum、urpmiなどを介して)の両方を使用しないでください。競合する可能性があります。
したがって、エラーが発生しにくい方法の1つは、システムに個別のPythonをインストールすることです。システムに付属のPythonをシステムスクリプトなどに残します。このPythonでは、パッケージマネージャーによってインストールされたパッケージを利用します。それだけ。そして、他のバージョンのPython(または同じもの)をインストールして、「virtualenv」で実行します。これらの他のインストールでは、pip/setuptoolsのみを使用してインストールします。
(そして、大胆に生きてvirtualenvsを使用しないことを選択した場合でも、システムのPythonと同じプレフィックス( /usr
、および/usr/local
)に別のPythonバージョンをインストールすると、混乱を招くエラーや競合が発生します)。
Debian(およびUbuntu)システムは、/ usrで公式のPythonを並列に実行し、apt-getで両方のPythonバージョンにPythonパッケージを同時にインストールする方法を考案したことに注意してください。これはほとんど機能しますが、Pythonのデフォルトのディレクトリ階層を混乱させ、一部のアプリケーションはこの方法でPythonを使用できません。(DebianまたはUbuntuでモジュールファイル自体を見つけるのも面倒です)。したがって、システムでapt-getで複数のバージョンのPythonを使用できる場合でも、上記の方法が推奨事項として適用されます。
つまり、Pythonの目的のバージョンをコンパイルしたら、次のようにします。
- システムのパッケージマネージャーを使用して、「python-setuptools」と「python-virtualenv」をインストールします(これらが実際のパッケージ名であるかどうかはわかりません)。
- 異なるPythonバージョンを使用
virtualenv
する環境を作成するために使用します
- virtualenvをアクティブ化し、それを使用
pip
してPythonパッケージをインストールします。
Virtualenvには、役立つ「--help」スイッチがありますが、基本的には次のようになります。
$ virtualenv -p <path-to-python-interpreter> <environment-dir>
$ source <environment-dir>/bin/activate
そして、あなたはそこにいます-環境変数が設定されているため、Pythonを使用するすべてのものがvirtualenvのインタプリタを「見る」でしょう。