回答:
いいえ、2.7をLucidのデフォルトのPythonインタープリターとして定義することは安全とは見なされません。そして、私はそれが将来になるとは思わない。
1つのリリースには、ソフトウェアのメジャーバージョンアップグレードはありません。
したがって、python2.7はデフォルトのインタープリターとしての2.6を置き換えません。この種のアップグレードは、1つのバージョン間(特にLTS)でのみ行われます。いわゆる安定リリースアップグレード、つまりバグ修正とセキュリティ関連のアップグレードのみです。
ただし、python2.7を使用してインタープリターを定義し、#!/usr/bin/python2.7
ユーザーにmake altinstall
python2.6とともにpythonソースを使用してインストールさせることは完全に安全です
MaverickにアップグレードできないVPSで同じ問題が発生しました(新しいLTSイメージでさえ、必ずしも時間通りに利用できるとは限りません)。マリウスの答えは私を始めるためのトリックをしましたが、それを拡張する必要があります:
あなたが私の状況にいるadd-apt-repository
なら、走るという簡単なアドバイスはあなたには役に立たないでしょう。それでは、これを昔ながらの方法でやってみましょう。
ファイルを開きます/etc/apt/sources.list
(root権限が必要です。シェルを使用している場合、これはおそらくを実行していることを意味しますsudo vim /etc/apt/sources.list
)。
ファイルの一番下まで移動し(を使用している場合、をvim
押して挿入モードに切り替えますi
)、次の行を追加します。
deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main
deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main
保存して終了し(vim
タイプ:wq
:)、シェルに戻ります。
以下を入力します(PPAで正しいキーを見つけることができます。「技術的詳細」のスラッシュの後の部分です。正しいキーを取得してください)。
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DB82666C
ソースリストを更新するには、次を入力します。
sudo apt-get update
サーバーでシェルを開き、次を入力します。
sudo apt-get install python2.7 python2.7-dev
取得するにeasy_install
働いて、取得distribute
bootscrapスクリプトを:
curl -O http://python-distribute.org/distribute_setup.py
python2.7 distribute_setup.py
最後に、何か深刻なことをしようpip
と考えてvirtualenv
いるなら、あなたは働きたいと思っています。
easy_install-2.7 pip
pip-2.7 install virtualenv
新しい環境用のフォルダーを作成して開きます。
mkdir my_env && cd my_env
仮想環境自体を作成します(ドットは、現在のディレクトリが環境の場所であることを示し、前の手順をスキップした場合は正しいパスに置き換えます)。
virtualenv --no-site-packages --python=python2.7 .
環境をアクティブにします。シェルプロンプトがアクティブな環境を反映して変化することに気付くでしょう。
source bin/activate
このシェルで何をするにしても、仮想環境のbin
フォルダーとその環境のPythonパッケージのスクリプトを使用します。このオプション--no-site-packages
は、最小限のパッケージセット(pip
ただし、を含む)から開始することを意味するため、必要なすべてのパッケージをインストールする必要があることに注意してください。
完了したら、環境を非アクティブ化します(これはアクティブな環境によって認識されるコマンドです)。
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バージョンを使用することを意味するため、必要はありません)それについて心配する)。
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を参照)
Ubuntu 10.04用に構築されたPython 2.7のPPAがあります。ソースからビルドするよりも安全/便利かもしれません。
これにより、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)
ようやく動作するサーバーができました。ありがとうございました。
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に変更しました。ありがとうございました。
easy_install-2.7 -U pip
ため、2.7バージョンのインストールを強制する必要がありました。しかし、ありがとう、これは大きな助けです!