Python使用pyenv實現多環境管理

2021-10-19 05:23:38 字數 1881 閱讀 8822

1 背景&概述

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

1pip install tensorflow

然後。。。

好傢伙???

居然沒有??

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

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

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

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

2 安裝

安裝有兩種方式:

自動安裝

手動安裝

2.1 自動安裝12

3curl | bash

# 或curl -l | bash

2.2 手動安裝

手動安裝大致分為三步:

安裝pyenv

配置環境變數

初始化2.2.1 安裝 pyenv

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

1yay -s pyenv

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

1git clone ~/.pyenv

( 這一步是可選的 )接著就是編譯動態 bash 擴充套件進行加速:

1cd ~/.pyenv && src/configure && make -c src

官方解釋說,不用害怕編譯失敗,因為仍然會正常工作。

2.2.2 配置環境變數

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

2.2.2.1 bash12

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

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

2.2.2.2 zsh12

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

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

2.2.2.3 fish shell12

set -ux pyenv_root $home/.pyenv

set -ux fish_user_paths $pyenv_root/bin $fish_user_paths

2.2.3 初始化

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

2.2.3.1 bash

1echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

2.2.3.2 zsh

1echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc

2.2.3.3 fish shell

1echo -e '\n\n# pyenv init\nif command -v pyenv 1>/dev/null 2>&1\n pyenv init - | source\nend' >> ~/.config/fish/config.fish

2.3 測試

重新開啟乙個終端,輸入 pyenv ,輸出如下資訊就表明安裝成功了:

pyenv實現python多版本共存

在終端執行如下命令以安裝 pyenv 以及幾個外掛程式 curl l bash echo export pyenv root home pyenv bashrc echo export path pyenv root bin path bashrc echo eval pyenv init bash...

使用pyenv來管理python版本

使用pyenv可以很方便的切換python版本,而不會影響系統的python版本,對需要使用supervisor 僅支援python2 託管程式,專案使用python3開發的情況十分有用 pyenv的一些認識ubuntu vm 0 9 ubuntu srv www trader log galler...

使用pyenv對python進行版本控制 很好用

相對於python自帶的virtualenv來說,pyenv的使用要便利些,更不用說自帶的外掛程式python virtualenv,建立虛擬環境就更為方便了,其實最讓我心水的功能是建立的虛擬環境,進入設定好的工作目錄即自動啟用虛擬環境,退出即關閉,真真是超級方便。git clone pyenvcu...