Ubuntu 12.04 LTSで最新のPython 2.7.x「正しい方法」を使用する方法は?


28

私のプロジェクトはPythonリリースで最新の状態を維持する必要がありますが、現在2.7.5はリリースされていますが、12.04LTSは現在2.7.3でスタックしています。手動でコンパイルせずに最新の状態を維持する方法はありますか?Pythonのパッケージベースのインストールを継続する必要があります。これを処理する「正しい」方法は何ですか?

ありがとう!

回答:


14

編集: *コメントで@Anthonが指摘したように、このPPAにはUbuntu 12.04(正確)用のPython 2.7は含まれていません。以下のfunky-futureの回答を参照してください。これは、最初に応答したときに存在したとは思われません。

ユニバースにデフォルトで含まれていないパッケージを処理するための好ましい「Ubuntu」の方法は、手動でコンパイルするのではなく、PPA(サードパーティのリポジトリ)を使用することです。この方法で、パッケージ管理、更新、および依存関係解決の利点を維持します。

ただし、サードパーティのリポジトリは、要件の一部である場合、公式にはサポートされていません

DeadSnakes(入手)PPAは、システムパッケージ管理に含まれていないPythonリリースを維持します。

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python2.7

このPPAの詳細については、こちらをご覧ください

ただし、DeadSnakesは含まれていないメジャーバージョンのみを提供し、ポイントリリースは提供していないため、これにはPython 2.7は含まれません。UbuntuはすでにUbuntu 12.04用に2.7をパッケージ化しているため、DeadSnakesはこれを提供しません。

この場合、Ubuntuでネイティブパッケージを使用しないようにすることをお勧めします。DeadSnakesからのこの抜粋をご覧ください。

Using third-party modules packaged for Debian or Ubuntu with the Python
interpreters from this repository is a bit of a mixed bag. For Python 2, Python
modules from the official repositories will not work, as a consequence of how
Python packaging works in Debian. For Python 3 on the other hand, all
pure-Python module packages at least should be available; compiled extension
modules will not work however.

In general, you're better off installing Python modules using the common Python
packaging tools rather than the system package manager. For an introduction into
the Python packaging ecosystem and its tools, refer to;
    http://guide.python-distribute.org/

A few of these tools might also be provided in this repository as a convenience.

オペレーティングシステムのパッケージ管理を使用することが絶対に必要であり、DeadSnakesが提供するパッケージを使用して、またはネイティブでUbuntuの別のバージョンに移動できない場合は、2つのオプションしかありません。

  1. Python 2.7.5のバックポートをUbuntu 12.04にリクエストできます。
  2. 必要なバージョンのPythonで独自のPPAを作成できます。

サイドノートAskUbuntuは、一般的にSuperUserよりも、このようなものを投稿するのに優れたStackExchangeです。


パーフェクト、ありがとう!あなたの経験では、DeadSnakesはよく管理されていますか?
ウィル

2
はい、人気があり、よく管理されているようです。私はそれを使用してほとんど予約がありません。
krondor

1
10.04では2.7.4のみ、12.04ではなく
-Anthon

1
@アンソンは正しい、私はそれに気づかなかった。DeadSnakesはメジャーリリースに置き換わらないため、Ubuntuは既にPython 2.7をバンドルしているため、Deadsnakesはそのシリーズのポイントリリースを提供しません。むしろ、正確な3.3を提供します。この場合、OPは役に立ちません。
クロンドール

14.04に使用しなければなりませんでしたppa:fkrull/deadsnakes-python2.7(サフィックスに注意してください)
クレイグヨンキンス

37

Felix Krullは、Ubuntu Precise、Trusty、およびUtopic向けの最新のPython 2.7リリースを備えたPPA も保守しています(現在は保守されていないように)。krondorの説明と同じプロセスを使用できますが、代わりに、または追加でこのPPAを使用しますppa:fkrull/deadsnakes-python2.7

sudo add-apt-repository ppa:fkrull/deadsnakes-python2.7
sudo apt-get update
sudo apt-get install python2.7

これは受け入れられた答えでなければなりません。
cr8ivecodesmith

1
現在は「廃止」警告が出ていますが、古いUbuntuバージョンをまだ実行しているマシンではうまく機能します。PPAにはバージョン2.7.12-1~precise12.7.12-1~trusty1および2.7.10-0+utopic1(12.04、14.04、および14.10用)が用意されています。
mivk

5
frull / deadsnakes-python2.7 ppaが廃止されたことに注意してください。最新のPython 2.7リリース(2.7.13など)については、jonathonf / python-2.7 ppaを使用してみてください。
ソクラテス

警告-アップグレードディストリビューション(12 - > 14)は私にとって、この引き起こされた問題..私は本当に死んだのpythonで残っていた。..アップグレードする前に、このPPAを元に戻すようにしてください。..
dermen

まあ、それはすべてのディストリビューションの更新とppasに当てはまります。
ファンキーな未来
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.