Python使用pyenv實現多環境管理
因某些需求,需要安裝 TensorFlow ,很自然地在終端敲下了以下命令:
pip install tensorflow
然后。。。
好家伙???
居然沒有??
因為是 Python 3.9 ,去 pypi 搜索了,居然還真沒有支持的,最高只有 Python 3.8 :
于是便考慮一個多版本的 Python 環境,碰巧就在 Github 上看到了一個 22.3k 的東西:
這就是 pyenv ,一個簡單的 Python 版本管理器,可以輕松地在各個 Python 版本之間進行切換。
好了廢話不說,進入正題。
2 安裝安裝有兩種方式:
自動安裝 手動安裝2.1 自動安裝curl https://pyenv.run | bash# 或curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash2.2 手動安裝
手動安裝大致分為三步:
安裝pyenv 配置環境變量 初始化2.2.1 安裝 pyenv
筆者系統 Manjaro ,可以直接 yay 安裝:
yay -S pyenv
其他系統的可以使用 apt search / yum search 等看看軟件包倉庫有沒有,有的話直接安裝即可,沒有的話,可以 clone 安裝:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
( 這一步是可選的 )接著就是編譯動態 bash 擴展進行加速:
cd ~/.pyenv && src/configure && make -C src
官方解釋說,不用害怕編譯失敗,因為仍然會正常工作。
2.2.2 配置環境變量
這一步就是把 PYENV 以及更新后的 PATH 配置成環境變量,官方文檔按照 shell 類型進行了分類,根據自己情況選擇即可。
2.2.2.1 bash
echo ’export PYENV_ROOT='$HOME/.pyenv'’ >> ~/.bash_profileecho ’export PATH='$PYENV_ROOT/bin:$PATH'’ >> ~/.bash_profile
2.2.2.2 Zsh
echo ’export PYENV_ROOT='$HOME/.pyenv'’ >> ~/.zshrcecho ’export PATH='$PYENV_ROOT/bin:$PATH'’ >> ~/.zshrc
2.2.2.3 Fish shell
set -Ux PYENV_ROOT $HOME/.pyenvset -Ux fish_user_paths $PYENV_ROOT/bin $fish_user_paths
2.2.3 初始化
配置完環境變量后還要進行初始化操作,文檔同樣按 shell 類型進行了分類。
2.2.3.1 bash
echo -e ’if command -v pyenv 1>/dev/null 2>&1; thenn eval '$(pyenv init -)'nfi’ >> ~/.bash_profile
2.2.3.2 Zsh
echo -e ’if command -v pyenv 1>/dev/null 2>&1; thenn eval '$(pyenv init -)'nfi’ >> ~/.zshrc
2.2.3.3 Fish shell
echo -e ’nn# pyenv initnif command -v pyenv 1>/dev/null 2>&1n pyenv init - | sourcenend’ >> ~/.config/fish/config.fish2.3 測試
重新開啟一個終端,輸入 pyenv ,輸出如下信息就表明安裝成功了:
雖然上面說了這么多命令,但實際使用頻率高的命令并不多,主要有以下幾個:
pyenv version pyenv install pyenv global一般安裝的步驟如下,先使用
pyenv install -l
查找需要安裝的 Python 版本:
這里還有一大串,就不全部截圖了,比如需要安裝 3.6.12 版本:
pyenv install 3.6.12
安裝之后可以使用
pyenv versions
查看安裝的版本,這里筆者安裝有兩個,一個是系統自帶的 Python3.9 ,一個是 pyenv 安裝的 Python3.6 :
接著使用
pyenv global 3.6.12
切換到新安裝的版本:
這樣就切換到了新安裝的版本,如果不是全局替換而是局部替換的話可以使用 pyenv local / pyenv shell 。
要注意的是切換版本后 pip 的版本也會不一樣,而且兩個版本使用 pip 安裝的包也是獨立的:
1、 Github-pyenv
2、 Github-pyenv-installer
3、 知乎-Python環境Memo
到此這篇關于Python使用pyenv實現多環境管理的文章就介紹到這了,更多相關Python pyenv多環境管理內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: