Ubuntu 14.4でPythonを2.7.9にアップグレードするにはどうすればよいですか?


32

Ubuntu 14.4にはPython 2.7.6が組み込まれていますが、2.7.9にアップグレードしたいと思います(必要なセキュリティ機能があります)。

それも可能ですか?もしそうなら、どのようにこれを達成できますか?


2
python 2.7のアップストリームバージョンは常に2.7.6になります。ディストリビューションのバージョン番号を確認し、次に変更ログ(packages.ubuntu.com/source/trusty/python2.7)をチェックして、これらのセキュリティ更新がバックポートされているかどうかを確認します。
ロジャーシャーマン

回答:


16

pyenvを使用できます。

 git clone https://github.com/pyenv/pyenv.git ~/.pyenv
 git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

それから加えて

   #   for PyEnv
  export PYENV_ROOT="$HOME/.pyenv"
  export PATH="$HOME/.pyenv/bin:$PATH"
  export PATH="$HOME/.pyenv/shims:$PATH"
  eval "$(pyenv init -)"

.bash_profileにすると、インストールまたは更新するPythonバージョンを確認できます。

pyenv install --list

Python 2.7.10が必要ですか?あなたが試すことができます:

 pyenv virtualenv 2.7.10

それがあなたを助けることを願っています。


Ubuntuの場合、そのブロックは〜/ .bash_profileよりも〜/ .bashrcの方がうまく機能します。次に、「$ SHELL」を実行します。
ブレンダン

31

ppa:fkrull / deadsnakesはpython2.7の最新バージョンです

sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get upgrade

Pythonを2.7.10にアップグレードします


1
開発マシン(すべての14.04デスクトップ)で試した、非常に優れた代替手段。
ヨンシーソリス

しかし、アプリと互換性がないことがわかりました。
同様に

4
非公式のパッケージやPPAに依存すること、特にUbuntuのPythonのような基本的なものに依存することは、重要なセキュリティプロセスをバイパスし、多くの問題を引き起こす可能性があることに注意してください。一部のパッケージは、公式のパッケージまたはバージョンに明示的に依存しています。代わりに、必要なアプリだけのために、virtualenvを最新バージョンのpythonで使用することをお勧めします。Ubuntu 14.04 LTSでPython 2.7.9にアップグレードし、展開用に独自の.debパッケージを作成する
nealmcb

良い。あなたが正しいです。私は数ヶ月前にアプローチをあきらめました。
と同様に

3
これにより、すべてのパッケージがアップグレードされます。
mpen

10

私は、さまざまなPPAからインストールすることを提案する以前の回答のファンではありません。意図された無礼はありませんが、私はそれらを作った人々を知りません、そして、私はそこに何があるかもしれないかわかりません。セキュリティの専門家に誰かが答えなければならない環境では、その慣習は眉をひそめます。

ソースから2.7.9をダウンロードし、サイドバイサイドでインストールするのが良いスタートであることがわかりました。この素晴らしいブログ投稿では手順を説明しました。(スタックオーバーフローガイドラインに準拠するためにここで再作成されました)

wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar xfz Python-2.7.9.tgz
cd Python-2.7.9/
./configure --prefix /usr/local/lib/python2.7.9
make
make install

バージョンが機能するかどうかをテストする

/usr/local/lib/python2.7.9/bin/python -V
Python 2.7.9

2.7.9がインストールされたので、直接呼び出すか、どこからでもシンボリックリンクできます。(または、virtualenvなどにコピーします。)

そして、私は安全でないプラットフォームの警告とSNI Missing warningsを受け取っていた状況からここに来たことに注意してください。それが私をここに導い。多くの人が同じ道からこの質問を見つけていると思います。そして、それがあなたがここにいる理由なら、このスニペットもあなたにとって役に立つかもしれません

pip install urllib3[secure]

特に既に使用してvirtualenvいる場合は、これが実際に良い答えです。理由は、これがより良いと思う、それは何か他のものを壊すかもしれない第三者のアプリケーションまたはリポジトリに依存しないということです。
アンドレ

3

アップグレードされた新しいサードパーティのリポジトリは次のとおりです。

sudo add-apt-repository ppa:jonathonf/python-2.7
sudo apt-get update
sudo apt-get install python2.7
python --version

2

python.orgにアクセスし、.tar.gzファイルをダウンロードしてコンパイルしてインストールします。ソースコードをコンパイルするには、基本的なツールが必要です。「build-essential」パッケージで十分かどうかは覚えていませんが、試してみてください。


2

必要なバージョンはすでにUbuntuのVivid(pre)releaseにあります。勇気があるなら、リリースを混ぜて、Trustyの下にVividのPythonバージョンをインストールできます。以下は、いくつかのパッケージで動作する一般的なソリューションです。Pythonでは保証できません。成功する可能性は約50/50です。ただし、必要なパッケージバージョンで14.04の適切なバックポートリポジトリが見つかった場合は、より適切な選択になります。

  1. に「... trusty main」行があり/etc/apt/sources.list、それを2回コピーして、「trusty」を「utopic」および「vivid」に変更します。

  2. 実行apt-get updateしてからapt-get -t vivid install python2.7。先に進む前に、インストールされている依存関係を確認してください。システムの損傷(重要なパッケージの削除など)が疑われる場合は、アップグレードを中止します。

  3. から2行を削除またはハッシュし/etc/apt/sources.listます。

本番マシンでは絶対に実行しないでください。OSのバックアップを作成し、必要に応じて復元するブートメディアを準備します。アップグレード時に問題が発生する可能性があります。あなたは警告されました。

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