web-dev-qa-db-ja.com

Ubuntu 12.04でpython 2.7.5にアップグレードする

Ubuntu 12.04には、デフォルトでpython v 2.7.3が付属しています。 v 2.7.5にアップグレードしたい。 この質問 にある指示を試しました。

Sudo apt-get install build-essential
Sudo apt-get install libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

cd ~/Downloads/
wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz

tar -xvf Python-2.7.5.tgz
cd Python-2.7.5

./configure
make
Sudo make altinstall

最後のコマンドはエラーで失敗します:

...
Compiling /usr/local/lib/python2.7/xmlrpclib.py ...
Compiling /usr/local/lib/python2.7/zipfile.py ...
make: *** [libinstall] Error 1

このアップグレードを行うにはどうすればよいですか?

9
Gabriel

もちろん、ソースからインストールすることもできますが、いくつかの理由から、Ubuntuシステムのpythonパッケージをソースからアップグレードするのをためらいます。

  1. そうすると、ソースから直接コンパイルすることでシステムが壊れる可能性があります(UbuntuがどのようにPythonパッケージビルドをカスタマイズするか正確にはわかりません)。

  2. 私は、mightリポジトリからモジュールを使用する際に問題が発生することを心配しています。

アクティブに見える PPA があります(2.7.xトレインは今年の4月に最後にビルドされました)が、PPAにはまだ2.7.5ビルドがありません。メンテナーにpingを行い、将来のビルドの計画と、2.7.5のビルドを含めるかどうかを確認することをお勧めします。可能であれば、ソースからのインストールよりもこの方法をお勧めします。新しいソフトウェアと同様に、まずテストシステムでこれを構築することをお勧めします。

別のオプションは、サンドボックス(pyenv)を使用して、テストされていない新しいソフトウェアパッケージを実行することです。システムに直接インストールすると、マシンの動作に悪影響を与える可能性があります。

パッケージ pyenv を使用すると、マシンにインストールされているメインPythonパッケージに影響を与えることなく、システムにPythonバージョンをインストールできます(再度:システムは現在インストールされているPythonのバージョンに依存しており、アップグレードするとシステムが破損する可能性があります)。以前は、システムからpythonパッケージを分離するために Pythonbrew が推奨されていましたが、それは非推奨になり、pyenvパッケージに置き換えられました。

pyenvパッケージは、次の機能を提供します。

  • ユーザーごとにグローバルPythonバージョンを変更できます。
  • プロジェクトごとのPythonバージョンのサポートを提供します。
  • Pythonバージョンを環境変数でオーバーライドできます。
  • 一度に複数のバージョンのPythonからコマンドを検索します。

インストール

  1. Pyenvを〜/ .pyenvにチェックアウトします。

    git clone git://github.com/yyuu/pyenv.git .pyenv
    
  2. Pyenvコマンドラインユーティリティにアクセスするために〜/ .pyenv/binを$ PATHに追加します。

    echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bash_profile
    

    Zsh注:~/.zshenvの代わりに~/.bash_profileファイルを変更します。

  3. シェルにpyenv initを追加して、シムと自動補完を有効にします。

    echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
    

    Zsh注:~/.zshenvの代わりに~/.bash_profileファイルを変更します。

  4. シェルを再起動して、パスの変更を有効にします。これで、pyenvの使用を開始できます。

    exec $Shell
    
  5. Pythonバージョンを〜/ .pyenv/versionsにインストールします。たとえば、Python 2.7.5をインストールするには、ソースをダウンロードして展開し、次を実行します。

    pyenv install 2.7.5
    

    注ソースからビルドする構成オプションを渡す必要がある場合は、CONFIGURE_OPTS環境変数を使用してください。

  6. Shimバイナリを再構築します。これは、新しいPythonバイナリをインストールするとき(たとえば、新しいPythonバージョンをインストールするとき、またはバイナリを提供するパッケージをインストールするとき)に行う必要があります。

    pyenv rehash
    
13
Kevin Bowen