ubuntu 10.04 には python2.7 パッケージがありません。 2.7 を自分でビルドする必要があります。 12.04 が出たときに python2.7 パッケージをリリースする ubuntu に関する記事を読みましたが、リポジトリの場所がわかりません.
http://eli.thegreenplace.net/2011/10/10/installing-python-2-7-on-ubuntu/
または:
sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get install python2.7
https://askubuntu.com/questions/101591/install-python-2-7-2-on-ubuntu-10-04-64-bit
この質問にはオンラインで多くの回答があります。
pyenv
https://github.com/pyenv/pyenv
Pyenv を使用すると、Node.js NVM や Ruby RVM と同様に、1 人のユーザーに対して sudo を使用せずに複数の Python バージョンを管理できます。
Pyenv をインストールします:
curl https://pyenv.run | bash
次に、 .bashrc
に追加します :
export PATH="${HOME}/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
インストールする Python バージョンを検索:
pyenv install --list
必要な Python バージョンをインストールします:
# Increase the chances that the build will have all dependencies.
# https://github.com/pyenv/pyenv/wiki/Common-build-problems
sudo apt build-dep python3
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
# Build and install a Python version from source.
pyenv install 3.8.0
利用可能な Python バージョンのリスト:
pyenv versions
* system (set by /home/cirsan01/.pyenv/version)
3.8.0
別の Python バージョンを選択してください:
pyenv global 3.8.0
python --version
python3 --version
両方の出力:
Python 3.8.0
これで、パッケージのインストールと通常の使用に進むことができます:
pip install cowsay
python -c 'import cowsay; cowsay.tux("Python is fun")'
cowsay 'hello'
以下を使用して、すべてがクリーンな環境にローカルにインストールされていることを確認できます。
python -c 'import cowsay; print(cowsay.__file__)'
与えます:
/home/ciro/.pyenv/versions/3.8.0/lib/python3.8/site-packages/cowsay/__init__.py
そして:
which cowsay
与えます:
/home/ciro/.pyenv/shims/cowsay
そして:
which python
与えます:
/home/ciro/.pyenv/shims/python
プロジェクトごとの使用量
前のセクションでは、グローバル セットアップで pyenv を使用する方法を見てきました。
ただし、通常必要なのは、プロジェクトごとに特定の python とパッケージのバージョンを設定することです。これがやり方です。
最初に、以前と同様に目的の Python バージョンをインストールします。
次に、プロジェクト ディレクトリ内から、目的の Python バージョンを次のように設定します。
pyenv local 3.8.0
ファイル .python-version
を作成します バージョン文字列を含みます。
それでは、私たちのプロジェクトのためだけにパッケージをローカルにインストールしましょう:TODO:一見良い方法はありません:Pyenv は virtualenv ディレクトリを選択します
これで、誰かがあなたのプロジェクトを使用したい場合、彼らは次のことを行います:
pyenv local
これにより、Python のバージョンが正しいバージョンに設定されます。
関連スレッド:
- https://askubuntu.com/questions/682869/how-do-i-install-a-different-python-version-using-apt-get
- https://unix.stackexchange.com/questions/9711/what-is-the-proper-way-to-manage-multiple-python-versions
- 異なる Python バージョンの apt-get インストール
Ubuntu 18.04、pyenv 1.2.15 でテスト済み。
Python には、Linux ディストリビューション (Ubuntu を含む) によるパッケージ管理機能と並行して、独自のパッケージ管理機能があります。リポジトリは Pypi - Python Package Index で、パッケージは pip
でインストールされます または、Python の setuptools パッケージの一部である easy_install スクリプト。
経験則として、pip/setuptools を介してインストールされたパッケージと、ディストリビューションで利用可能なパッケージ (apt-get、yum、urpmi などを介して) の両方を使用しないでください。競合する可能性があるためです。
したがって、エラーが発生しにくい方法の 1 つは、システムに個別の Python をインストールすることです。システム スクリプトなどのためにシステムに付属の Python をそのままにしておきます。この Python では、パッケージ マネージャーによってインストールされたパッケージを利用します。それだけ。そして、「virtualenv」で実行するために、他のバージョンの Python (または同じもの) をインストールします。これらの他のインストールでは、pip/setuptools のみでインストールします。
(そして、大胆に生きて virtualenvs を使わないことを選択したとしても、同じプレフィックス (/usr
、さらには /usr/local
) システムの Python は、混乱を招くエラーや競合の原因となります)。
Debian - および Ubuntu - システムは、/usr で公式の Python を並行して実行する方法と、Python パッケージを両方の Python バージョンに一度にインストールする apt-get を使用する方法を考案したことに注意してください。これはほとんどの場合機能しますが、Python のデフォルトのディレクトリ階層が乱れ、一部のアプリケーションではこの方法で Python を使用できません。 (Debian や Ubuntu でモジュール ファイル自体を見つけるのも面倒です)。そのため、システムに apt-get で利用できる Python のバージョンが複数ある場合でも、上記の方法が推奨事項として適用されます。
つまり、必要なバージョンの Python をコンパイルしたら、次のようにします。
<オール>virtualenv
を使用 別のバージョンの Python を使用する環境を作成するpip
を使用して Python パッケージをインストールします Virtualenv には役立つ「--help」スイッチがありますが、基本的には:
$ virtualenv -p <path-to-python-interpreter> <environment-dir>
$ source <environment-dir>/bin/activate
これで、Python を使用するすべてのものは、環境変数が設定されているため、virtualenv でインタープリターを「見る」ことができます。