「インストール - Pyenv」の版間の差分
(同じ利用者による、間の18版が非表示) | |||
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 | 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> | ||
== | == PyEnvのインストール == | ||
==== パッケージ管理システムからインストール ==== | |||
# SUSE | |||
sudo zypper install pyenv | |||
<br> | |||
==== Githubからダウンロードしてインストール ==== | |||
まず、[https://github.com/pyenv/pyenv PyenvのGithub]からPyenvをダウンロードする。<br> | まず、[https://github.com/pyenv/pyenv PyenvのGithub]からPyenvをダウンロードする。<br> | ||
git clone https://github.com/pyenv/pyenv.git <Pyenvのインストールディレクトリ> | git clone https://github.com/pyenv/pyenv.git <Pyenvのインストールディレクトリ> | ||
または | または | ||
wget https://github.com/pyenv/pyenv/archive/refs/tags/<バージョン>.tar.gz | 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> | <br> | ||
次に、環境変数<code>PYENV_ROOT</code>を定義して、上記でダウンロードしたPyenvディレクトリを指定する。<br> | 次に、環境変数<code>PYENV_ROOT</code>を定義して、上記でダウンロードしたPyenvディレクトリを指定する。<br> | ||
また、/<Pyenvのインストールディクレトリ>/binディレクトリを環境変数<code>PATH</code>に追加する。<br> | また、/<Pyenvのインストールディクレトリ>/binディレクトリを環境変数<code>PATH</code>に追加する。<br> | ||
<syntaxhighlight lang="bash"> | |||
<syntaxhighlight lang=" | |||
# ~/.profileファイル | # ~/.profileファイル | ||
# | # ログインシェルがBashの場合 | ||
export | export PYENV_ROOT="<Pyenvのインストールディレクトリ>" | ||
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH" | |||
eval "$(pyenv init -)" | |||
eval "$(pyenv virtualenv-init -)" | |||
</syntaxhighlight> | |||
<br> | |||
<syntaxhighlight lang="zsh"> | |||
# ~/.zprofileファイル | |||
# ログインシェルがZshの場合 | |||
export PYENV_ROOT="<Pyenvのインストールディレクトリ>" | 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 | |||
# ログインシェルがFish 3.1以前の場合 | |||
set -Ux PYENV_ROOT <Pyenvのインストールディレクトリ> | |||
set -U fish_user_paths $PYENV_ROOT/bin $fish_user_paths | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
< | <u>ログインシェルがFishの場合、~/.config/fish/config.fishファイルにも設定を記述する。</u><br> | ||
<syntaxhighlight lang="fish"> | |||
# ~/.config/fish/config.fishファイル | |||
< | |||
<br> | |||
<syntaxhighlight lang=" | |||
# ~/. | |||
pyenv init - | source | |||
status --is-interactive; and pyenv virtualenv-init - | source | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
PCを再起動、または、再ログインする。<br> | |||
これにより、<code>pyenv</code>コマンドが使用できるようになる。<br> | |||
exec "$SHELL" | exec "$SHELL" | ||
<br> | <br> | ||
例えば、Python 3. | 例えば、Python 3.11.3をローカルにインストールするには、以下のコマンドを実行する。<br> | ||
pyenv local 3.11.3 | |||
<br> | |||
インストールディレクトリは、$PYENV_ROOT/versionsディレクトリである。<br> | インストールディレクトリは、$PYENV_ROOT/versionsディレクトリである。<br> | ||
<br> | <br> | ||
<u>※注意</u><br> | <u>※注意</u><br> | ||
<u>ビルドに構成オプションを渡す必要がある場合は、環境変数<code>PYTHON_CONFIGURE_OPTS</code>に<code>--enable- | <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> | ||
71行目: | 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 | ||
84行目: | 116行目: | ||
<br><br> | <br><br> | ||
== | == Pyenvのアップデート == | ||
<code>git</code>コマンドを使用してPyenvをインストールした場合、<code>git</code>コマンドによりアップデートできる。<br> | |||
cd <Pyenvのインストールディレクトリ> | |||
cd | |||
git pull | git pull | ||
<br><br> | <br><br> | ||
== | == Pyenvのアンインストール == | ||
まず、~/.profileファイル等からPyenvに関する設定を記述している箇所を削除する。<br> | |||
これにより、 | これにより、<Pyenvのインストールディレクトリ>/pyenv shimsディレクトリが環境変数<code>PATH</code>から削除される。<br> | ||
<br> | |||
次に、Pyenvのインストールディレクトリを削除する。<br> | |||
これにより、<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__ | ||
[[カテゴリ: | [[カテゴリ: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
コマンドは、仮想環境を作成するコマンド(conda
、virtualenv
、python -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名>