Python多環境管理 pyenv

2022-06-11 09:33:10 字數 3525 閱讀 6001

因某些需求,需要安裝tensorflow,很自然地在終端敲下了以下命令:

pip install tensorflow
然後。。。

好傢伙???

居然沒有??

因為是python 3.9,去pypi搜尋了,居然還真沒有支援的,最高只有python 3.8

於是便考慮乙個多版本的python環境,碰巧就在github上看到了乙個22.3k的東西:

這就是pyenv,乙個簡單的python版本管理器,可以輕鬆地在各個python版本之間進行切換。

好了廢話不說,進入正題。

安裝有兩種方式:

curl  | bash

# 或curl -l | bash

手動安裝大致分為三步:

筆者系統manjaro,可以直接yay安裝:

yay -s pyenv
其他系統的可以使用apt search/yum search等看看軟體包倉庫有沒有,有的話直接安裝即可,沒有的話,可以clone安裝:

git clone  ~/.pyenv
這一步是可選的)接著就是編譯動態bash擴充套件進行加速:

cd ~/.pyenv && src/configure && make -c src
官方解釋說,不用害怕編譯失敗,因為仍然會正常工作。

這一步就是把pyenv以及更新後的path配置成環境變數,官方文件按照shell型別進行了分類,根據自己情況選擇即可。

2.2.2.1bash

echo 'export pyenv_root="$home/.pyenv"' >> ~/.bash_profile

echo 'export path="$pyenv_root/bin:$path"' >> ~/.bash_profile

2.2.2.2zsh
echo 'export pyenv_root="$home/.pyenv"' >> ~/.zshrc

echo 'export path="$pyenv_root/bin:$path"' >> ~/.zshrc

2.2.2.3fish shell
set -ux pyenv_root $home/.pyenv

set -ux fish_user_paths $pyenv_root/bin $fish_user_paths

配置完環境變數後還要進行初始化操作,文件同樣按shell型別進行了分類。

2.2.3.1bash

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
2.2.3.2zsh
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.zshrc
2.2.3.3fish shell
echo -e '\n\n# pyenv init\nif command -v pyenv 1>/dev/null 2>&1\n  pyenv init - | source\nend' >> ~/.config/fish/config.fish
重新開啟乙個終端,輸入pyenv,輸出如下資訊就表明安裝成功了:

雖然上面說了這麼多命令,但實際使用頻率高的命令並不多,主要有以下幾個:

一般安裝的步驟如下,先使用

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安裝的包也是獨立的:

3、知乎-python環境memo

Linux anaconda 多環境管理

conda version檢視conda版本 conda update conda公升級conda conda create n py3 python 3.6建立乙個新環境,n後面接自定義的名字,python後接版本 source activate py3啟用建立的新環境 conda info en...

python環境管理

不論linux windows,用conda實現環境管理為最優策略。安裝conda後,conda list可檢視現有環境 初始只有乙個 可以按需創造多個環境,新建環境在conda的env目錄下 新環境需要新增包,conda install可新增,但通常conda install裡的包會少 這時,最優...

Python使用pyenv實現多環境管理

1 背景 概述 因某些需求,需要安裝 tensorflow 很自然地在終端敲下了以下命令 1pip install tensorflow 然後。好傢伙?居然沒有?因為是 python 3.9 去 pypi 搜尋了,居然還真沒有支援的,最高只有 python 3.8 於是便考慮乙個多版本的 pytho...