■ はじめに
https://dk521123.hatenablog.com/entry/2020/02/11/141852
より分冊。 昨今、色々なプロジェクトに首を突っ込んでいる関係で Pythonのバージョンを切り替えたり大変だ。 そこで、pyenv について扱う。
目次
【1】環境設定 1)Linux の場合 2)Windows の場合 【2】仮想環境として別バージョンのPythonを入れる 【3】Pythonのバージョンを切り替える 0)切り替えられるpythonバージョンの確認 1)ローカルの一部のパスでのみ使用したい場合 2)環境全体で使用したい場合 【4】トラブル 1)Linux環境でpyenv install時にエラー「zipimort.ZipImoportError」 2)Linux環境でpyenv install時にエラー「Missing the OpneSSL lib?」 3)Linux環境でpyenvでPythonバージョンが切り替わらない
【1】環境設定
1)Linux の場合
https://www.python-izm.com/tips/pyenv/
https://note.com/npaka/n/n597d1cea0432
# pyenvインストール git clone https://github.com/yyuu/pyenv.git ~/.pyenv # 環境編の設定 echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile echo 'export PATH="$PYENV_ROOT/shims:$PATH"' >> ~/.bash_profile echo 'eval "$(pyenv init -)"' >> ~/.bash_profile # bash_profile を適用 source ~/.bash_profile # pyenvへのPythonのインストール pyenv install 3.6.10 # 全ディレクトリのPythonの切り替え pyenv global 3.6.10 # ローカルの一部のパスでのみ使用したい場合 # pyenv local 3.6.10 # pyenv version確認 pyenv versions # Python version確認 (v3.6.10 になっているはず) python --version
2)Windows の場合
https://www.3ryu-engineer.work/windows-pyenv/
# pip でインストール pip install pyenv-win --target %USERPROFILE%\.pyenv # => C:\Users\{ユーザ名}配下に .pyenv ディレクトリ作成 # 環境変数を追加 # 後述「※ 環境変数の設定 by Powershell」を参照 # 確認 pyenv --version
※ 環境変数の設定 by Powershell
https://github.com/pyenv-win/pyenv-win#finish-the-installation
[System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User") [System.Environment]::SetEnvironmentVariable('PYENV_ROOT',$env:USERPROFILE + "\.pyenv\pyenv-win\","User") [System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + "\.pyenv\pyenv-win\","User") [System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + [System.Environment]::GetEnvironmentVariable('path', "User"),"User")
【2】仮想環境として別バージョンのPythonを入れる
# インストールされているバージョンを確認 pyenv --version # インストール可能なバージョンを表示 pyenv install --list # 指定したバージョンをインストール # pyenv install <python-version> pyenv install 3.7.9
【3】Pythonのバージョンを切り替える
0)切り替えられるpythonバージョンの確認
pyenv versions
1)ローカルの一部のパスでのみ使用したい場合
pyenv local 3.7.9 # 確認 python -V
2)環境全体で使用したい場合
# グローバルなデフォルトを指定したバージョンに変更 # pyenv global <python-version> pyenv global 3.7.9 # 確認 python -V
【4】トラブル
1)Linux環境でpyenv install時にエラー「zipimort.ZipImoportError」
Linux環境で「pyenv install 3.6.15」した際に 以下「エラー内容」が表示された
エラー内容
zipimport.ZipImportError: can't decompress data; zlib not available make: *** [Makefile:1102: install]: Error 1
解決案
# 以下を行う
sudo apt-get install zlib1g-dev
参考文献
https://qiita.com/banaoh/items/00aea13fe045fab7e8ba
2)Linux環境でpyenv install時にエラー「Missing the OpneSSL lib?」
上記1)の後に、再度、「pyenv install 3.6.15」した際に 以下「エラー内容」が表示された
解決案
# 以下を行う $ sudo apt-get update $ sudo apt-get install make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
参考文献
https://zenn.dev/moru3_48/articles/94d01b0ed2a91e
3)Linux環境でpyenvでPythonバージョンが切り替わらない
上記2)の後に、再度、「pyenv install 3.6.155 」し、 「python lo
コマンド例
pyenv install 3.6.15 pyenv local 3.6.15 # 確認したが、バージョン「v3.6.15」にならない python -V
解決案
https://hitori-sekai.com/python/error-pyenv/
# を参考に、以下を行い、再度バージョン確認 echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile echo 'export PATH="$PYENV_ROOT/shims:$PATH"' >> ~/.bash_profile echo 'eval "$(pyenv init -)"' >> ~/.bash_profile # bash_profile を適用 source ~/.bash_profile python -V
参考文献
https://hitori-sekai.com/python/error-pyenv/
参考文献
https://qiita.com/twipg/items/75fc9428e4c33ed429c0
関連記事
仮想環境 ~ virtualenv / venv / pipenv ~
https://dk521123.hatenablog.com/entry/2020/02/11/141852
パッケージ管理 ~ pip / wheel, egg ~
https://dk521123.hatenablog.com/entry/2019/11/09/001342
パッケージ管理 ~ pip ~
https://dk521123.hatenablog.com/entry/2021/07/02/000000
パッケージ管理 ~ conda ~
https://dk521123.hatenablog.com/entry/2022/02/11/000000
パッケージ管理 ~ Poetry ~
https://dk521123.hatenablog.com/entry/2021/11/09/155903