python2.7は今後10.04で使用できるようになりますか?


27

Ubuntu 10.04はLTSリリースであるため、デフォルトのパッケージメンテナーバージョンとしてpython 2.7をサポートしますか、少なくとも将来はpython2.7パッケージを使用しますか?

これは、Python 2.xの最後のメジャーリリースであり、長期間使用することを目的としているため、使用することにしました。ソースからコンパイルしました(もちろん、depsをビルドした後)が、ときどき小さな問題を見つけます。

Pythonで動作するいくつかの配布アプリケーションがあるので、コンパイル済みのPython 2.7をデフォルトとして定義しても安全ですか?

回答:


16

いいえ、2.7をLucidのデフォルトのPythonインタープリターとして定義することは安全とは見なされません。そして、私はそれが将来になるとは思わない。

  • 1つのリリースには、ソフトウェアのメジャーバージョンアップグレードはありません。

    したがって、python2.7はデフォルトのインタープリターとしての2.6を置き換えません。この種のアップグレードは、1つのバージョン間(特にLTS)でのみ行われます。いわゆる安定リリースアップグレード、つまりバグ修正とセキュリティ関連のアップグレードのみです。

ただし、python2.7を使用してインタープリターを定義し、#!/usr/bin/python2.7ユーザーにmake altinstallpython2.6とともにpythonソースを使用してインストールさせることは完全に安全です


41

MaverickにアップグレードできないVPSで同じ問題が発生しました(新しいLTSイメージでさえ、必ずしも時間通りに利用できるとは限りません)。マリウスの答えは私を始めるためのトリックをしましたが、それを拡張する必要があります:

PPAをソースに追加します

あなたが私の状況にいるadd-apt-repositoryなら、走るという簡単なアドバイスはあなたには役に立たないでしょう。それでは、これを昔ながらの方法でやってみましょう。

  1. ファイルを開きます/etc/apt/sources.list(root権限が必要です。シェルを使用している場合、これはおそらくを実行していることを意味しますsudo vim /etc/apt/sources.list)。

  2. ファイルの一番下まで移動し(を使用している場合、をvim押して挿入モードに切り替えますi)、次の行を追加します。

    deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main 
    deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main 
  3. 保存して終了し(vimタイプ:wq:)、シェルに戻ります。

  4. 以下を入力します(PPAで正しいキー見つけることができます。「技術的詳細」のスラッシュの後の部分です。正しいキーを取得してください)。

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DB82666C
  5. ソースリストを更新するには、次を入力します。

    sudo apt-get update

Python 2.7のインストールとセットアップ

  1. サーバーでシェルを開き、次を入力します。

    sudo apt-get install python2.7 python2.7-dev
  2. 取得するにeasy_install働いて、取得distributebootscrapスクリプトを:

    curl -O http://python-distribute.org/distribute_setup.py
    python2.7 distribute_setup.py
  3. 最後に、何か深刻なことをしようpipと考えてvirtualenvいるなら、あなたは働きたいと思っています。

    easy_install-2.7 pip
    pip-2.7 install virtualenv

virtualenvのセットアップ

  1. 新しい環境用のフォルダーを作成して開きます。

    mkdir my_env && cd my_env
  2. 仮想環境自体を作成します(ドットは、現在のディレクトリが環境の場所であることを示し、前の手順をスキップした場合は正しいパスに置き換えます)。

    virtualenv --no-site-packages --python=python2.7 .
  3. 環境をアクティブにします。シェルプロンプトがアクティブな環境を反映して変化することに気付くでしょう。

    source bin/activate
  4. このシェルで何をするにしても、仮想環境のbinフォルダーとその環境のPythonパッケージのスクリプトを使用します。このオプション--no-site-packagesは、最小限のパッケージセット(pipただし、を含む)から開始することを意味するため、必要なすべてのパッケージをインストールする必要があることに注意してください。

  5. 完了したら、環境を非アクティブ化します(これはアクティブな環境によって認識されるコマンドです)。

    deactivate

-Eオプションを渡すことにより、パッケージを仮想環境にインストールすることもできますpip(たとえば、指定されたパスで仮想環境にpip install some-package -E /path/to/virtual/environmentインストールsome-packageする)。pipインストールされているさまざまなPythonバージョンに対応するいくつかの異なるバージョンがあることに留意してください。

pip-2.7仮想環境の外部で作業するときにPython 2.7のパッケージをインストールする場合に使用することをお勧めします(--python=python2.7渡されたオプションvirtualenvは、仮想環境が提供するツールのPython 2.7バージョンを使用することを意味するため、必要はありません)それについて心配する)。


1
私の場合、2.6用のpipをすでにインストールしていたeasy_install-2.7 -U pipため、2.7バージョンのインストールを強制する必要がありました。しかし、ありがとう、これは大きな助けです!
ゲイブモーザート

2
「Python 2.7のインストールとセットアップ」の下のステップ2では、を行う必要がありましたwget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python2.7。そして、ピップを取得するために sudo python2.7 -m easy_install pip続きsudo python2.7 -m easy_install --upgrade pipます。--no-check-certificateオプションは、SSL証明書に関するwgetからの苦情を乗り越えるために必要でした。(pypi.python.org/pypi/setuptools#unix-wgetを参照)
-zlovelady


2

これにより、https: //stackoverflow.com/questions/7561221/undefined-symbol-pyobject-nextnotimplemented-error-when-loading-psycopg2-moduが抱えていたあらゆる種類の問題が解決しました。

libpython2.7.so.1.0私のpython2.7などにリンクしているすべてが幸せに見える。

私がそれを理解するために必要な最後のピースはmod_wsgiインストールでした。単に発行する場合:

$ apt-get install libapache2-mod-wsgi

次に、これはPython2.6用にコンパイルされます:(

$ ldd /usr/lib/apache2/modules/mod_wsgi.so

libpython2.6.so.1.0 => /usr/lib/libpython2.6.so.1.0 (0x00178000)

そこで、ここで Gork-Zopeの指示に従いました

ようやく動作するサーバーができました。ありがとうございました。


1

10.04バージョンに関連付けられているプログラムとライブラリの多くを変更する必要があるため、そうは思いません。実際、Ubuntuでの作業の多くは、特定のpythonバージョンを使用して行われます。Pythonに変更すると、多くのシステムファイルが変更されます。

10.10ではpython2.7をインストールするだけでsynaptic / aptitudeから入手できます(3と3.1もインストールできます)が、10.04では10.04に対応するための作業はありません。

10.10のデフォルトはpython 2.6です。答えが肯定的ではなかったが、変更のアイデアを提供したかっただけの場合は申し訳ありません。

編集-以下のコメントから二重チェックされたため、Python 2.7をデフォルトとしてPython 2.6に変更しました。ありがとうございました。


仮想ボックスで10.10をチェックアウトしたところ、デフォルトでpython 2.6.6になっていますが、maverickには2.7パッケージが利用可能です。デフォルトとしてそれを持っている11.04だと思います。私は通常、ディストリビューションの更新と変更を続けていますが、長期的なサポートとカスタマイズのために、10.04に固執することを検討していました。
クロッジャー

はい、11.04は数日からデフォルトで2.7になります
ステファノパラッツォ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.