あなたは、複数の異なるPython環境でPythonコードをテストしたいプログラマーです。あなたならどうしますか?特定のPythonバージョンをインストールしてコードをテストしてから、そのバージョンをアンインストールしてから、別の異なるバージョンとテストコードを再度インストールしますか?いいえ、待ってください!不要ではありません。 Pyenvに会う 、複数のPythonバージョンを同時に管理するためのコマンドラインユーティリティ。 Pythonのバージョン管理がこれまでになく簡単になりました。 Pythonのインストール、アンインストール、および複数の異なるバージョンへの切り替えに使用されます。
Pyenvを使用すると、ユーザーごとにグローバルPythonバージョンを変更したり、プロジェクトごとのPythonバージョンをサポートしたり、環境変数でPythonバージョンをオーバーライドしたり、一度に複数のバージョンのPythonからコマンドを検索したりできます。 Pyenvを使用して、複数のPython環境でコードをテストできます。このチュートリアルでは、GNU/LinuxにPyenvをインストールして使用する方法を説明します。
LinuxにPyenvをインストールする
まず、一般的なビルドの問題を回避するために、次のパッケージをインストールします。
Debianベースのシステムの場合:
$ sudo apt-get install -y make build-essential git libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev
RPMベースのシステムの場合:
$ sudo yum install zlib-devel bzip2 bzip2-devel git readline-devel sqlite sqlite-devel openssl-devel xz xz-devel
SUSE / openSUSEの場合:
$ sudo zypper in zlib-devel bzip2 libbz2-devel git readline-devel sqlite3 sqlite3-devel libopenssl-devel xz xz-devel
必要な前提条件をインストールしました。 Pyenvをインストールする時が来ました。 Pyenvをインストールするための公式で推奨される方法は、pyenv-installerスクリプトを使用することです。シェルで次のコマンドを実行してpyenvをインストールするだけです。
$ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
インストールの最後に、インストーラーはPyenvをPATHに追加するように通知します。私の場合、〜/ .bash_profileに次の行を追加しました ファイル。
export PATH ="/ home / ostechnix / .pyenv / bin:$ PATH" eval "$(pyenv init-)" eval "$(pyenv virtualenv-init-)"
以下のコマンドを実行して、変更を有効にします。
$ source〜/ .bash_profile
Pyenvを使用する準備が整いました。それでは、Pyenvを使用してさまざまなバージョンのPythonを管理する方法を見てみましょう。
Linux上のPyenvで複数のPythonバージョンを管理する
まず、利用可能なすべてのバージョンを見てみましょう。これを行うには、次のコマンドを実行するだけです。
$ pyenv install -l </ pre>または、
$ pyenv install --list以下のような出力が必要です。
利用可能なバージョン:2.1.3 2.2.3 2.3.72.42.4.1。 。 。 3.6.2 3.6.3 3.6.4 3.7.0b1 3.7-dev 3.8-dev [...]現在インストールされているPythonのバージョンを一覧表示するには:
$ pyenvバージョン*システム(/home/ostechnix/.pyenv/versionで設定)デフォルトでは、PyenvはシステムのデフォルトのPythonを使用します。ここで* デフォルトを示します。
Pythonのインストール
システムにPython2.7.14および3.6.4バージョンが必要だとしましょう。
これを行うには、次を実行します:
$ pyenv install 2.7.14Python 3.6.4をインストールするには、次のコマンドを実行します。
$ pyenv install 3.6.4sudo権限は必要ありません。すべてのPythonバージョンは、$HOMEのpyenvルートディレクトリの別のディレクトリにインストールされます。デフォルトのpyenvルートディレクトリは〜/ .pyenvです。 。たとえば、Python2.7.14は/home/ostechnix/.pyenv/versions/2.7.14の下にインストールされます 私の場合。
$ ls /home/ostechnix/.pyenv/versions/2.7.14 3.6.4インストールされているPythonのバージョンを一覧表示します。
$ pyenvバージョン*システム(/home/ostechnix/.pyenv/versionで設定)2.7.14 3.6.4異なるPythonバージョン間の切り替え
グローバルとローカルの2つの方法で異なるPythonに切り替えることができます。
コマンドを使用して、現在のグローバルPythonバージョンを確認しましょう:
$ pyenv globalsystemありません。私のシステムはまだシステムのデフォルトのPythonを使用しています。別のPythonバージョンに切り替えましょう。たとえば、 2.7.14 。
$ pyenv global 2.7.14次に、デフォルトのPythonバージョンを確認します。
$pyenvバージョンシステム*2.7.14(/home/ostechnix/.pyenv/versionで設定) 3.6.4星(*)に気づきましたか?はい、2.7.14はグローバルなデフォルトのPythonバージョンです。
複数のバージョンをグローバルPythonとして一度に指定することもできます。 2.7.14と3.6.4の2つのバージョンがあるとしましょう。 3.6.4よりも2.7.14を使用する場合は、次を実行してください:
$ pyenv global 2.7.14 3.6.4次に、グローバルバージョンを確認します。
$pyenvバージョンシステム*2.7.14(/home/ostechnix/.pyenv/versionで設定)* 3.6.4(/home/ostechnix/.pyenv/versionで設定)現在、2.7.14と3.6.4がデフォルトのグローバルバージョンです。
バージョン名を.python-versionに書き込むことで、ローカルアプリケーション固有の(プロジェクトごとの)Pythonバージョンを設定できます。 現在のディレクトリ内のファイル。ローカルバージョンはグローバルバージョンをオーバーライドし、PYENV_VERSION環境変数を設定するか、pyenvシェルコマンドを使用してオーバーライドできることに注意してください。
プロジェクトディレクトリに切り替えます:
$ cd myproject /3.6.4に切り替えましょう。
$ pyenv local 3.6.4現在のローカルPythonバージョンを確認してください。
$pyenvバージョンシステム2.7.14*3.6.4(/home/ostechnix/myproject/.python-versionで設定)仮想環境のセットアップ
特定のPythonバージョンで仮想環境をセットアップするには、次のようにします。
$ pyenv virtualenv 3.6.4 myenv
グローバルに利用できるようにするには、次を実行します:
$ pyenv global myenv(myenv)[メール保護]:〜$これで、仮想環境にいます。やりたいことは何でもしなさい。 pipなどを使用してPythonアプリケーションをインストール、削除します。それはすべてあなたのものです。
ローカル仮想環境を(ディレクトリごとに)セットアップする場合:
プロジェクトディレクトリにCDを挿入し、実行します:
$ pyenv local mylocalenv仮想環境を削除するには、次のようにします。
$ pyenv uninstall myenvpyenv-virtualenv:/home/ostechnix/.pyenv/versions/3.6.4/envs/myenvを削除しますか? y特定のPythonバージョンの削除
特定のPythonバージョンをアンインストールするには、たとえば3.6.4:
$pyenvアンインストール3.6.4または、削除するバージョンのディレクトリを削除するだけです。
現在インストールされているPythonのバージョンを確認します:
$pyenvバージョン詳細については、次のコマンドを実行してヘルプセクションをお読みください。
$ pyenvまた、特定のコマンドについては、「pyenvhelp
」を確認してください。たとえば、「install」コマンドの情報は次のように表示できます。 $pyenvヘルプのインストールそして、それがすべてです。ご覧のとおり、複数のPythonバージョンの管理は非常に簡単です。 Pythonプログラマーの場合、Pyenvは武器庫を維持するために不可欠なツールです。
関連記事:
- SDKMAN-複数のソフトウェア開発キットを簡単に管理するためのCLIツール
- LinuxでjEnvを使用して複数のJavaバージョンを管理する方法