Skip to content

Latest commit

 

History

History

pyenv_tutorial

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

pyenv 教學

之前介紹過建立虛擬環境

如何使用 venv 建立 virtual environments 📝

但最近發現 pyenv(可以管理多版本),

使用起來感覺更上手, 這邊簡單介紹一下

https://github.com/pyenv/pyenv

安裝方法

Automatic installer

curl https://pyenv.run | bash

安裝完應該會出現

alt tag

然後我是使用 zsh (所以跟著底下設定)

Set up your shell environment for Pyenv

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

接著重開 zsh 輸入 pyenv 就不會跳出任何錯誤訊息了

教學

先看一下支援的版本

pyenv install --list

這邊選擇 3.9.18, 所以先安裝 python 版本

pyenv install 3.9.18

💢 開始建立環境前,

請先安裝這個 Suggested build environment

不然很容易再建立的時候出錯誤,

以下為 Ubuntu/Debian/Mint 的環境,

sudo apt update; sudo apt install build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev curl \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

接著建立環境

pyenv virtualenv 3.9.18 test_env

啟動你的環境

pyenv activate test_env

生效作用範圍有 shell > local > global 可以使用,

可參考 understanding-python-version-selection

在目前的 shell 生效, 退出就消失了

pyenv shell <version>

在當前的資料夾底下生效, 執行後目錄會多出 .python-version 這個檔案,

pyenv local <version> -- automatically select whenever you are in the current directory (or its subdirectories),

在整個 user 底下都生效(全局改變),

如果要還原(切換)可以使用 pyenv global system

pyenv global <version> -- select globally for your user account

顯示全部安裝的 venv

pyenv virtualenvs

也會顯示安裝的路徑

alt tag

如果想查詢目前的 command 在哪個路徑下, 可使用以下指令

❯ pyenv which pip3
/home/twtrubiks/.pyenv/versions/3.10.13/bin/pip3
❯ pyenv which python3
/home/twtrubiks/.pyenv/versions/3.10.13/bin/python3

刪除一個 venv

pyenv uninstall test_env

Reference

Donation

文章都是我自己研究內化後原創,如果有幫助到您,也想鼓勵我的話,歡迎請我喝一杯咖啡:laughing:

綠界科技ECPAY ( 不需註冊會員 )

alt tag

贊助者付款

歐付寶 ( 需註冊會員 )

alt tag

贊助者付款

贊助名單

贊助名單

License

MIT license