0

異なるバージョンの Python が同じマシンに共存できますか

/usr/bin/python --version
Python 2.7.2+

現在、上記のバージョンを使用していますが、同じ Ubuntu OS ユーザーに対して最新の python をローカルにインストールするにはどうすればよいですか。

4

5 に答える 5

2

はい、できます。非常に簡単に。

Ubuntu ユーザーは、または新しい Software Center アプリケーションpython3からインストールできます。これにより、すべてのユーザーに対してグローバルにインストールされます。aptaptitude

独自のカスタム バージョンの Python をインストールするには、まず適切なビルド環境が利用可能であることを確認してください。インストールしますbuild-essentials

プレイしたいバージョンの Python のソースをダウンロードし、展開します。

configure を実行して./configure --prefix=/home/yourusername/python/2.xxreplace xxwhich 必要なバージョンを指定してから、通常の を実行しmake、続いてmake install.

ここで、このカスタム バージョンの Python を使用する場合、または任意のパッケージをインストールする場合は、直接呼び出す必要があります。

このような:

/home/yourusername/python/2.xx/bin/python setup.py install --prefix=/home/yourusername/python/2.xx

pythonbrewに触発されたツールであるを使用できます。ほとんどのタスクを自動化し、Python のバージョンを簡単に切り替えることができます。rvmbrew

于 2013-01-15T10:30:52.883 に答える
2

組み込みのパッケージ マネージャーを使用して、最新バージョンの Python を簡単にインストールできます。既存のバージョンを上書きしないでください。この写真を見てください。Mint Linux ( Ubuntuベース) で利用可能なパッケージを示し、デフォルトのパッケージ マネージャーを使用して両方をインストールできることを示しています。

シナプス パッケージ マネージャー

その後、Python3 を直接呼び出すだけで、新しいバージョンを実行できます。

例えば

Python3 test.py

古いバージョンでも同じことができます。

Python2.7 test.py

スクリプトが正しいバージョンで実行されていることを確認したい場合は、次のシバン行をスクリプトに追加できます。

#!/usr/bin/env python3
于 2013-01-15T10:28:12.297 に答える
1

同じマシンで複数のバージョンの Python を使用できます。複数のバージョンを保持するために、異なるディレクトリにインストール (インストール中に構成) できます。「python」コマンドは 1 つのバージョンにしかリンクしませんが、完全なコマンド、つまり python2.7 または python2.6 を使用して実行できます。または、実行可能なスクリプトがある場合は、使用するバージョンを定義できます

 #! /usr/bin/env python2.6 

また

`#! /usr/bin/python2.6  # where ever it is installed`.

実行可能スクリプトの最初の行として

于 2013-01-15T10:31:06.490 に答える
0

これをチェックしてみてください。RVMRubyのツールはあなたが探しているものを可能にしますpython

Rubyの「rvm」に相当するPythonはありますか? :

はい、それはvirtualenvwrapperと共にvirtualenvです。

更新: virtualenv burritoを使用して、両方を一度にインストールできます。

于 2013-01-15T10:30:35.430 に答える
0

少なくとも私のインストールには、python3パッケージもあります。バイナリは同じ名前です。

python3 --version
Python 3.2.3

共存という意味で、両方をインストールできるという意味であれば、答えはイエスです。

カスタム インストールが必要な場合、詳細が煩雑になる可能性があります。特に、インストールされている両方のバージョンで同じパッケージを使用する必要がある場合 (ABI が変更されているため、多くの場合、これはまったく不可能です)。

于 2013-01-15T10:29:08.537 に答える