「インストール - Pyenv」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
編集の要約なし
 
(同じ利用者による、間の21版が非表示)
5行目: 5行目:
== pyenvの依存ライブラリをインストール ==
== pyenvの依存ライブラリをインストール ==
pyenvをインストールする前に、以下の依存ライブラリをインストールする。<br>
pyenvをインストールする前に、以下の依存ライブラリをインストールする。<br>
# RHEL
sudo dnf install gcc make git zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel
  # SUSE
  # SUSE
  sudo zypper install readline-devel sqlite3-devel libbz2-devel zlib-devel libopenssl-devel
  sudo zypper install make automake pkg-config findutils patch git readline-devel bzip2 libbz2-devel xz-devel zlib-devel lzma-sdk-devel \
                    gcc gdbm-devel ncurses-devel libopenssl-devel sqlite3-devel libffi-devel tk-devel \
                    # 以下に示すパッケージは不要の可能性あり
                    python3-devel cairo-devel python3-numpy python3-numpy-devel python3-Cython
   
   
  # Raspberry Pi
  # Raspberry Pi
12行目: 18行目:
<br><br>
<br><br>


== Git Hubからクローンしてインストール ==
== PyEnvのインストール ==
まず、インストールしたいpyenvをクローンする。<br>
==== パッケージ管理システムからインストール ====
ここでは、インストールするディレクトリは、~/.pyenvとする。(別の場所にインストールも可能)<br>
# SUSE
  git clone https://github.com/pyenv/pyenv.git ~/.pyenv
sudo zypper install pyenv
<br>
==== Githubからダウンロードしてインストール ====
まず、[https://github.com/pyenv/pyenv PyenvのGithub]からPyenvをダウンロードする。<br>
  git clone https://github.com/pyenv/pyenv.git <Pyenvのインストールディレクトリ>
または
wget https://github.com/pyenv/pyenv/archive/refs/tags/<バージョン>.tar.gz
<br>
必要ならば、Pyenv-UpdateやVirtualEnvをインストールする。<br>
cd /<PyEnvのインストールディレクトリ>/plugins
git clone https://github.com/pyenv/pyenv-update
cd /<PyEnvのインストールディレクトリ>/plugins
git clone https://github.com/pyenv/pyenv-virtualenv.git
<br>
次に、環境変数<code>PYENV_ROOT</code>を定義して、上記でダウンロードしたPyenvディレクトリを指定する。<br>
また、/<Pyenvのインストールディクレトリ>/binディレクトリを環境変数<code>PATH</code>に追加する。<br>
<syntaxhighlight lang="bash">
# ~/.profileファイル
# ログインシェルがBashの場合
export PYENV_ROOT="<Pyenvのインストールディレクトリ>"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
</syntaxhighlight>
<br>
<br>
次に、環境変数PYENV_ROOTを定義して、上記でクローンしたpyenvディレクトリを指定し、<br>
<syntaxhighlight lang="zsh">
pyenvコマンドにアクセスするために、$PYENV_ROOT/binを$PATHに追加する。<br>
# ~/.zprofileファイル
  # SUSE
  echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
  # ログインシェルがZshの場合
  echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
  export PYENV_ROOT="<Pyenvのインストールディレクトリ>"
  [[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
</syntaxhighlight>
<br>
<syntaxhighlight lang="fish">
# ~/.config/fish/config.fishファイル
# ログインシェルがFish 3.2以降の場合
set -Ux PYENV_ROOT <Pyenvのインストールディレクトリ>
fish_add_path $PYENV_ROOT/bin
   
   
  # Raspberry Pi
  # ログインシェルがFish 3.1以前の場合
  echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
  set -Ux PYENV_ROOT <Pyenvのインストールディレクトリ>
  echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
  set -U fish_user_paths $PYENV_ROOT/bin $fish_user_paths
</syntaxhighlight>
<br>
<br>
シェルにpyenv initを追加する。<br>
<u>ログインシェルがFishの場合、~/.config/fish/config.fishファイルにも設定を記述する。</u><br>
初期化中にPATHを操作するため、eval "$(pyenv init-)"がシェル構成ファイルの最後に配置されていることを確認してください。<br>
<syntaxhighlight lang="fish">
  echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.profile
# ~/.config/fish/config.fishファイル
pyenv init - | source
  status --is-interactive; and pyenv virtualenv-init - | source
</syntaxhighlight>
<br>
<br>
シェルを再起動して、パスの変更を有効にする。<br>
PCを再起動、または、再ログインする。<br>
これで、pyenvが使用できるようになる。<br>
これにより、<code>pyenv</code>コマンドが使用できるようになる。<br>
  exec "$SHELL"
  exec "$SHELL"
<br>
<br>
例えば、Python 3.8.1をインストールするには、以下のコマンドを実行する。(インストールディレクトリは、~/.pyenv/versions)<br>
例えば、Python 3.11.3をローカルにインストールするには、以下のコマンドを実行する。<br>
※ビルドに構成オプションを渡す必要がある場合は、CONFIGURE_OPTS環境変数を使用すること。<br>
pyenv local 3.11.3
<br>
インストールディレクトリは、$PYENV_ROOT/versionsディレクトリである。<br>
<br>
<u>※注意</u><br>
<u>ビルドに構成オプションを渡す必要がある場合は、環境変数<code>PYTHON_CONFIGURE_OPTS</code>に<code>--enable-framework=</code>オプションを使用すること。</u><br>
  pyenv install 3.8.1
  pyenv install 3.8.1
<br><br>
<br><br>
47行目: 99行目:
  pyenv install --list
  pyenv install --list
<br>
<br>
===== Pythonのインストール =====
pyenv install <Pythonのバージョン>
<br>
===== 使用するPythonを変更する =====
===== 使用するPythonを変更する =====
  pyenv global 3.8.1
  pyenv global 3.8.1
60行目: 116行目:
<br><br>
<br><br>


== pyenvのアップデート ==
== Pyenvのアップデート ==
上記のように、Gitを使用してpyenvをインストールした場合、同様にGitでアップデートできる。<br>
<code>git</code>コマンドを使用してPyenvをインストールした場合、<code>git</code>コマンドによりアップデートできる。<br>
最新のpyenvにアップデートするには、git pullコマンドを使用する。<br>
  cd <Pyenvのインストールディレクトリ>
  cd ~/.pyenv
  git pull
  git pull
<br><br>
<br><br>


== pyenvのアンインストール ==
== Pyenvのアンインストール ==
pyenvをアンインストールするには、.profileファイルからpyenvを記述している行を削除するだけである。<br>
まず、~/.profileファイル等からPyenvに関する設定を記述している箇所を削除する。<br>
これにより、~/.pyenv/pyenv shimsディレクトリがPATHから削除される。(pyenvコマンドは使用できる)<br>
これにより、<Pyenvのインストールディレクトリ>/pyenv shimsディレクトリが環境変数<code>PATH</code>から削除される。<br>
pyenvを完全にアンインストールするには、.pyenvディレクトリを削除する。<br>
<br>
これにより、~/.pyenv/versionsディレクトリの下にインストールされたすべてのPythonが削除される。<br>
次に、Pyenvのインストールディレクトリを削除する。<br>
rm -rf ~/.pyenv
これにより、<Pyenvのインストールディレクトリ>/versionsディレクトリの下にインストールされた全てのPythonが削除される。<br>
rm -rf <Pyenvのインストールディレクトリ>
<br><br>
 
== Pyenv-Virtualenv ==
==== Pyenv-Virtualenvとは ====
Pyenv-Virtualenvとは、Pyenvプラグインであり、UNIXライクなシステム上でPythonのVirtualenvsとConda環境を管理する機能を提供する。<br>
<br>
<u>※注意</u><br>
<u>既に、VirtualenvWrapperを使用している場合、Pyenv-VirtualenvWrapperはVirtualenvを管理するのに役立つ可能性がある。</u><br>
<br>
==== PyenvからVirtualenvを使用する ====
Pyenvで使用するPythonバージョンのVirtualenvを作成するには、必要なPythonバージョンとVirtualenvディレクトリの名前を指定する。<br>
指定したPythonのバージョンに基づくVirtualenvが、/<Pyenvのインストールディレクトリ>/versionsディレクトリ下に<任意のVirtualenv名>というディレクトリに作成される。<br>
pyenv virtualenv <PyenvにインストールされているPythonのバージョン> <任意のVirtualenv名>
<br>
<code>pyenv virtualenv</code>コマンドは、仮想環境を作成するコマンド(<code>conda</code>、<code>virtualenv</code>、<code>python -m venv</code>)にオプションを転送する。<br>
詳細を知りたい場合は、<code>pyenv virtualenv --help</code>コマンドの出力を参照すること。<br>
<br>
==== 現在使用しているPythonのバージョンからVirtualenvを作成する ====
<code>pyenv virtualenv</code>コマンドの引数が1つのみの場合、Virtualenvは現在の<code>pyenv Python</code>コマンドを実行した時に出力されるPythonのバージョンに基づいて与えられた名前で作成される。<br>
例えば、<code>pyenv version</code>コマンドの実行結果が<u>3.11.0</u>の場合、Virtualenvは3.11.0を作成する。<br>
pyenv virtualenv venv-sample
<br>
==== インストールしているVirtualenvの一覧 ====
既にインストールしているVirtualenvとConda環境の一覧を表示する。<br>
各Virtualenvには2つのエントリーがあり、短い方のエントリーは単なるシンボリックリンクである。<br>
pyenv virtualenvs
<br>
==== 既存のVirtualenvを削除する ====
pyenv uninstall <インストールされているVirtualenv名>
<br>
また、以下に示す2つを手動で削除することにより、既存のVirtualenvを削除することができる。<br>
* /<Pyenvのインストールディレクトリ>/versions/<Pythonのバージョン> ファイル (シンボリックリンク)
* /<Pyenvのインストールディレクトリ>/versions/<Pythonのバージョン>/envs/<Pythonのバージョン> ディレクトリ
<br>
<code>virtualenv-delete</code>コマンドを実行することにより、既存のVirtualenvを削除することもできる。<br>
pyenv virtualenv-delete <インストールされているVirtualenv名>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:Python]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]]
[[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]][[カテゴリ:Python]]

2024年7月5日 (金) 11:39時点における最新版

概要

pyenvを使用すると、複数のバージョンのPythonを簡単に切り替えることができる。


pyenvの依存ライブラリをインストール

pyenvをインストールする前に、以下の依存ライブラリをインストールする。

# RHEL
sudo dnf install gcc make git zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel

# SUSE
sudo zypper install make automake pkg-config findutils patch git readline-devel bzip2 libbz2-devel xz-devel zlib-devel lzma-sdk-devel \
                    gcc gdbm-devel ncurses-devel libopenssl-devel sqlite3-devel libffi-devel tk-devel \
                    # 以下に示すパッケージは不要の可能性あり
                    python3-devel cairo-devel python3-numpy python3-numpy-devel python3-Cython 

# Raspberry Pi
sudp apt-get install git openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev libffi-dev



PyEnvのインストール

パッケージ管理システムからインストール

# SUSE
sudo zypper install pyenv


Githubからダウンロードしてインストール

まず、PyenvのGithubからPyenvをダウンロードする。

git clone https://github.com/pyenv/pyenv.git <Pyenvのインストールディレクトリ>
または
wget https://github.com/pyenv/pyenv/archive/refs/tags/<バージョン>.tar.gz


必要ならば、Pyenv-UpdateやVirtualEnvをインストールする。

cd /<PyEnvのインストールディレクトリ>/plugins
git clone https://github.com/pyenv/pyenv-update

cd /<PyEnvのインストールディレクトリ>/plugins
git clone https://github.com/pyenv/pyenv-virtualenv.git


次に、環境変数PYENV_ROOTを定義して、上記でダウンロードしたPyenvディレクトリを指定する。
また、/<Pyenvのインストールディクレトリ>/binディレクトリを環境変数PATHに追加する。

 # ~/.profileファイル
 
 # ログインシェルがBashの場合
 export PYENV_ROOT="<Pyenvのインストールディレクトリ>"
 command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
 eval "$(pyenv init -)"
 eval "$(pyenv virtualenv-init -)"


 # ~/.zprofileファイル
 
 # ログインシェルがZshの場合
 export PYENV_ROOT="<Pyenvのインストールディレクトリ>"
 [[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
 eval "$(pyenv init -)"
 eval "$(pyenv virtualenv-init -)"


 # ~/.config/fish/config.fishファイル
 
 # ログインシェルがFish 3.2以降の場合
 set -Ux PYENV_ROOT <Pyenvのインストールディレクトリ>
 fish_add_path $PYENV_ROOT/bin
 
 # ログインシェルがFish 3.1以前の場合
 set -Ux PYENV_ROOT <Pyenvのインストールディレクトリ>
 set -U fish_user_paths $PYENV_ROOT/bin $fish_user_paths


ログインシェルがFishの場合、~/.config/fish/config.fishファイルにも設定を記述する。

 # ~/.config/fish/config.fishファイル
 
 pyenv init - | source
 status --is-interactive; and pyenv virtualenv-init - | source


PCを再起動、または、再ログインする。
これにより、pyenvコマンドが使用できるようになる。

exec "$SHELL"


例えば、Python 3.11.3をローカルにインストールするには、以下のコマンドを実行する。

pyenv local 3.11.3


インストールディレクトリは、$PYENV_ROOT/versionsディレクトリである。

※注意
ビルドに構成オプションを渡す必要がある場合は、環境変数PYTHON_CONFIGURE_OPTS--enable-framework=オプションを使用すること。

pyenv install 3.8.1



pyenvの使用方法

インストール済みの一覧と現在アクティブなバージョンを表示
pyenv versions


インストール可能なPythonのバージョンを表示
pyenv install --list


Pythonのインストール
pyenv install <Pythonのバージョン>


使用するPythonを変更する
pyenv global 3.8.1


特定のディレクトリ内のみ使用するPythonを変更する
pyenv local 3.8.1


パッケージのアンインストール
pyenv uninstall 3.8.1


Pythonのバージョンを戻す
pyenv global system



Pyenvのアップデート

gitコマンドを使用してPyenvをインストールした場合、gitコマンドによりアップデートできる。

cd <Pyenvのインストールディレクトリ>
git pull



Pyenvのアンインストール

まず、~/.profileファイル等からPyenvに関する設定を記述している箇所を削除する。
これにより、<Pyenvのインストールディレクトリ>/pyenv shimsディレクトリが環境変数PATHから削除される。

次に、Pyenvのインストールディレクトリを削除する。
これにより、<Pyenvのインストールディレクトリ>/versionsディレクトリの下にインストールされた全てのPythonが削除される。

rm -rf <Pyenvのインストールディレクトリ>



Pyenv-Virtualenv

Pyenv-Virtualenvとは

Pyenv-Virtualenvとは、Pyenvプラグインであり、UNIXライクなシステム上でPythonのVirtualenvsとConda環境を管理する機能を提供する。

※注意
既に、VirtualenvWrapperを使用している場合、Pyenv-VirtualenvWrapperはVirtualenvを管理するのに役立つ可能性がある。

PyenvからVirtualenvを使用する

Pyenvで使用するPythonバージョンのVirtualenvを作成するには、必要なPythonバージョンとVirtualenvディレクトリの名前を指定する。
指定したPythonのバージョンに基づくVirtualenvが、/<Pyenvのインストールディレクトリ>/versionsディレクトリ下に<任意のVirtualenv名>というディレクトリに作成される。

pyenv virtualenv <PyenvにインストールされているPythonのバージョン> <任意のVirtualenv名>


pyenv virtualenvコマンドは、仮想環境を作成するコマンド(condavirtualenvpython -m venv)にオプションを転送する。
詳細を知りたい場合は、pyenv virtualenv --helpコマンドの出力を参照すること。

現在使用しているPythonのバージョンからVirtualenvを作成する

pyenv virtualenvコマンドの引数が1つのみの場合、Virtualenvは現在のpyenv Pythonコマンドを実行した時に出力されるPythonのバージョンに基づいて与えられた名前で作成される。
例えば、pyenv versionコマンドの実行結果が3.11.0の場合、Virtualenvは3.11.0を作成する。

pyenv virtualenv venv-sample


インストールしているVirtualenvの一覧

既にインストールしているVirtualenvとConda環境の一覧を表示する。
各Virtualenvには2つのエントリーがあり、短い方のエントリーは単なるシンボリックリンクである。

pyenv virtualenvs


既存のVirtualenvを削除する

pyenv uninstall <インストールされているVirtualenv名>


また、以下に示す2つを手動で削除することにより、既存のVirtualenvを削除することができる。

  • /<Pyenvのインストールディレクトリ>/versions/<Pythonのバージョン> ファイル (シンボリックリンク)
  • /<Pyenvのインストールディレクトリ>/versions/<Pythonのバージョン>/envs/<Pythonのバージョン> ディレクトリ


virtualenv-deleteコマンドを実行することにより、既存のVirtualenvを削除することもできる。

pyenv virtualenv-delete <インストールされているVirtualenv名>