Debianに新しいバージョンと古いバージョンのPythonをインストールしますか?


12

Debian(jessie)に追加バージョンのPythonをインストールするにはどうすればよいですか。Ubuntuでは、「deadsnakes」PPAを使用して、コマンドにバージョン名を付けて(たとえばpython33、Python 3.3のように)必要なPythonバージョンを提供できます。これにより、それらをすべて横にインストールできます。システムパッケージをいじらずに、virtualenvsを使用して特定のバージョンの特定のpythonパッケージをインストールできます。私はいくつかのpythonライブラリを管理していますが、多くのバージョンのpythonで動作する必要があります。Pythonバイナリがインストールされている場合、toxは各Pythonバージョンのvirtualenvの使用を処理します。

それでは、Ubuntuのdeadsnakes PPAに相当するdebianは何ですか?

更新 Pythonをインストールしたい:2.6、2.7、3.3、3.4、3.5。


インストールするPythonのバージョンを指定できますか?Jessieにはいくつかの異なるバージョンがあります。
ファヒムミタ

私の意見では、ソースからさまざまなPythonバージョンをインストールするだけの方がおそらく良いでしょう。
セラダ

回答:


9

PPAを使用する

DebianでPPAを使用できます。Debianバージョンの少し前のUbuntuバージョンを選択すると、必要なすべてのライブラリが含まれているはずです。wheezyの場合、oneiric PPAは問題ないと思われます(ただし、最新のPythonバージョンはありません)。ジェシーにとって、信頼できるPPAは機能するはずです。

DebianにPPAを追加するには、以下/etc/apt/sources.list.d/deadsnakes.listを含むファイルを作成します

deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu trusty main 
deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu trusty main 

PPA署名キーをダウンロードします

gpg --keyserver keyserver.ubuntu.com --recv-keys DB82666C

次に、APT鍵データベースに鍵を追加します

gpg --export DB82666C | sudo apt-key add -

最後にapt-get update、目的のパッケージを実行してインストールします。

何らかの理由でPPAが動作しない場合(お持ちのライブラリで動作するバージョンが見つからない場合)、ソースをダウンロードしてディストリビューション用に再コンパイルできます。

chrootedシステムを使用する

他のバージョンとの互換性をテストするために私が通常行うことは、chrootされたシステムで古いまたは新しいディストリビューションを実行することです。たとえば、興味のあるPythonバージョンでUbuntuのさまざまなバージョンをインストールしたり、chrootにtrustyをインストールしてそこにPPAをインストールしたりできます。詳細については、schrootガイドを参照してください


1
DebianでUbuntu PPAを使用しないでください。問題やその他の競合が発生する可能性があります。(pyenv複数のPythonバージョンの仮想環境を使用することもできます)
トーマスウォード

このアプローチを使用して、現在のdebianテストでpython 2.6、2.7、3.1、3.2、3.3、3.5、および3.6を正常にインストールしたことを確認できます。私が遭遇した唯一の警告は、ここで見つけた古いバージョンをパッケージ化する必要があるということでした:packages.debian.org/jessie/libssl1.0.0。また、xenial (16.04)バージョンのパッケージ(現在のlts)も使用しましたが、信頼性はまだあると思います。libssl1.0.0
肥満児RIGH

1

Ubuntuのdeadsnakes PPAに相当するDebianはありません

Debianでは、Ubuntuパッケージまたはリポジトリの使用は推奨されていません。この投稿は検索エンジンに登場するので、Debianシステムにとってそれほど危険ではない答えをここで提案します。

Pythonを手動でインストールできます。例として、次の手順を使用して3.5.2バージョンをインストールできます。

前提条件

依存関係をインストールします。

sudo apt-get update && sudo apt-get install libssl-dev openssl

Pythonの構築

コマンドの--prefixパラメーターを使用して、特定のフォルダーにPythonをビルドできますconfigure

wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
tar zxf Python-3.5.2.tgz
cd Python-3.5.2/
./configure --prefix=/usr/local
make
sudo make install

の代わりに/usr/local、別のベースディレクトリを使用できます。例として:

sudo mkdir /opt/python-3.5.2
./configure --prefix=/opt/python-3.5.2

Pythonバージョンの選択

PATH環境変数を使用すると、使用する適切なpythonバージョンの選択に役立ちます。しかし、シンボリックリンクを使用することもできます:

sudo ln -s /opt/python-3.5.2/bin/python3.5 /usr/local/bin/python3
sudo ln -s /opt/python-3.5.2/bin/pip3.5 /usr/local/bin/pip3

使用する-fオプションは、既存のシンボリックリンクを置き換えることができます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.