GNU/Linux >> Linux の 問題 >  >> Linux

LinuxでPyenvを使用して複数のPythonバージョンを管理する方法

あなたは、複数の異なる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.14 

Python 3.6.4をインストールするには、次のコマンドを実行します。

 $ pyenv install 3.6.4 

sudo権限は必要ありません。すべての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バージョンを管理する方法

Linux
  1. Linuxファイル機能を管理する方法

  2. LinuxでSystemctlを使用してSystemdサービスを管理する方法

  3. Ubuntu20.04でnを使用してNodeJSバージョンを管理する方法

  1. SDKMAN を使用して複数の Java バージョンをインストール/切り替える方法

  2. Linux 上の Python で export を使用する方法

  3. Linux 上の 2 つのバージョンの Python。 2.7 をデフォルトにする方法

  1. Linuxでuseraddを使用してユーザーを管理する方法

  2. RockyLinux8にJavaバージョンをインストールして管理する方法

  3. Ubuntu 20.04 に複数の Python バージョンをインストールするための推奨される方法