虛擬環(huán)境工具pyenv的使用方法?這個問題可能是我們日常學習或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純热荩屛覀円黄饋砜纯窗桑?/p>
建安網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、響應式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司從2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)公司。
使用
使用 pyenv 和 pyenv-virtualenv ,在 Linux 下完美隔離 python 各個版本
第 1 章:使用環(huán)境
注意: 本文的 Linux和Mac OS X 下進行,不涉及 windows下的安裝使用
清單
git
bash,zsh或者brew
pyenv
pyenv-virtualenv
1、安裝 git
在各大 Linux 的發(fā)行版下安裝 git 都非常簡單,此處只展示部分示例
archlinux
sudo pacman -S git
debian/ubuntu
sudo apt install git
centos
sudo yum install git
Mac
brew install git
2、開啟終端
Ubuntu下使用 shell
Ctrl + Alt + t 快捷鍵打開終端
3、安裝 pyenv
說明: 本文的所有安裝都嚴格遵守官方文檔,與官方文檔完全保持一致。
源碼git 地址:github.com/pyenv/pyenv
在終端中執(zhí)行如下命令完成安裝:
首先把項目克隆下來,放在家目錄下的隱藏文件夾中:.pyenv
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
如果你是Mac用戶,可以使用brew命令來安裝
brew update
brew install pyenv
然后配置環(huán)境變量:
如果你使用 bash,就依次執(zhí)行如下命令:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bashrc
如果你使用 zsh,就依次執(zhí)行如下命令:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc
如果你用Mac,就執(zhí)行如下命令:
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init-)"\nfi' >> ~/.bash_profile
echo 命令的含義是:將引號中內容寫入某文件中
請注意,以上的三條 echo 命令的最后一條命令,請保證它引號中的內容處于 ~/.bashrc 或者 ~/.zshrc 的最底部。
因為在 pyenv 初始化期間會操作 path 環(huán)境變量,導致不可預測的行為。
查看文件的底部內容,可以使用 tail 命令,用法:tail ~/.bashrc 或者 tail ~/.zshrc,編輯文件可以使用 vim 或者 vscode
然后,在使用 pyenv 之前,需要初始化 shell 環(huán)境,執(zhí)行如下命令
exec $SHELL或者source ~/.bashrc
同樣也可以關閉當前的終端窗口,重新啟動一個。
4、安裝 pyenv-virtualenv
源碼git 地址:github.com/pyenv/pyenv…
把插件克隆在剛才已經(jīng)安裝完畢的 pyenv 的 plugins 文件夾中
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
如果你是Mac用戶可以使用brew命令來安裝
brew install pyenv-virtualenv
然后配置環(huán)境變量
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
如果你使用 bash,就執(zhí)行如下命令:
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
如果你使用 zsh,就執(zhí)行如下命令:
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc
最后,在使用 pyenv 之前,重新初始化 shell 環(huán)境,執(zhí)行如下命令
exec $SHELL或者source ~/.bashrc
或者重啟一個終端窗口。
沒有出錯的話,此時已經(jīng)完成了所有的安裝操作,如果提示錯誤,請檢查前文中的==路徑==和==環(huán)境變量==(請檢查是否使用對應系統(tǒng)環(huán)境的命令)是否配置正確,或者將操作回退,重新執(zhí)行安裝命令
第 2 章:使用 pyenv
此處僅展示 pyenv 和 pyenv-virtualenv 的日常用法
檢查安裝是否正確
檢查 pyenv 的版本
pyenv version
查看 pyenv 已經(jīng)托管了哪些 python 版本
pyenv versions
如果顯示了正常的版本信息,說明安裝成功,如果顯示類似于 command not found 之類的提示,說明安裝失敗,請查看第一章末尾的提示。
安裝 3.6.6 版本的 python
pyenv install 3.6.6
這里需要注意,某些情況下會安裝失敗,Build failed.
Don't panic,我們可以查看pyenv在github wiki里面準備的應對方案,原文地址 github.com/pyenv/pyenv…
摘錄如下,只需要執(zhí)行對應的命令即可:
archlinux用戶
sudo pacman -S base-devel openssl zlib
Mac用戶
brew install openssl readline sqlite3 xz zlib
如果你使用的是OS X Mojave或者更高的版本(10.14+),還需要執(zhí)行一下命令
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
Ubuntu/Debian/Mint用戶
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev
CentOS/Fedora <= 21 用戶,確保已經(jīng)安裝了 xz 工具
sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel
Fedora >= 22 用戶,確保已經(jīng)安裝了 xz 工具
sudo dnf install -y gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel
openSUSE用戶
zypper install gcc automake openssl-devel ncurses-devel readline-devel zlib-devel tk-devel
Solus 用戶
sudo eopkg it -c system.devel
sudo eopkg install git gcc make zlib-devel bzip2-devel readline-devel sqlite3-devel openssl-devel tk-devel
Linuxbrew用戶
brew install bzip2 openssl readline sqlite xz
安裝完這些補充的工具之后,再次執(zhí)行:
pyenv install 3.6.6
就可以成功了,你可以不斷的使用pyenv versions來查看被 pyenv 托管的 python 版本,多版本之間不會沖突,完美共存
執(zhí)行pyenv install,然后按下 tab 鍵,就可以看到所有可選的安裝版本
如何使用已經(jīng)安裝的版本創(chuàng)建虛擬環(huán)境
pyenv和pyenv-virtualenv的協(xié)作可以這么理解:
pyenv 托管安裝的 python 版本,python-virtualenv 則調用對應的 python 版本
下面是如何創(chuàng)建和使用虛擬環(huán)境
1. 創(chuàng)建虛擬環(huán)境
首先需要創(chuàng)建一個虛擬環(huán)境,執(zhí)行命令:
pyenv virtualenv 3.6.6 my-env
最后一個是環(huán)境的名字,可以隨便取。安裝成功會顯示:
Looking in links: /tmp/tmp0eywgc7v
Requirement already satisfied: setuptools in /home/vic/.pyenv/versions/3.6.6/envs/my-env/lib/python3.6/site-packages (39.0.1)
Requirement already satisfied: pip in /home/vic/.pyenv/versions/3.6.6/envs/my-env/lib/python3.6/site-packages (10.0.1)
它寫明了該虛擬環(huán)境的絕對路徑。
2. 激活虛擬環(huán)境
在任意目錄下,執(zhí)行命令:
pyenv activate my-env
復制代碼在終端命令行前面,會出現(xiàn)(my-env) 的提示,進入python環(huán)境可以看到版本為虛擬環(huán)境設定的3.6.6,使用pip --version,可以看到 pip 包安裝的絕對路徑
使用終端進入任意目錄,比如 ~/envtest
cd ~/envtest
然后在該目錄下執(zhí)行:
pyenv local my-env
也可以激活創(chuàng)建好的虛擬環(huán)境,執(zhí)行:
ls -al
local命令和之前的命令區(qū)別在于,在 ~/envtest 目錄下,會創(chuàng)建一個隱藏文件 .python-version,文件內容只包含一句話 my-env,只要使用終端進入 ~/test 目錄,就會自動激活虛擬環(huán)境
退出虛擬環(huán)境使用下面兩個中任意一條命令
pyenv deactivate # 或者
source deactivate
3. 刪除虛擬環(huán)境
隨著時間推移,你可能積攢很多虛擬環(huán)境,刪除虛擬環(huán)境可以使用命令
pyenv uninstall my-env或者rm -rf my-env直接刪除虛擬環(huán)境所在的目錄
第 3 章:更新 pyenv
如果是用 git 克隆的,更新則使用git pull命令
cd ~/.pyenv 或者 cd $(pyenv root)
git pull origin master
Mac用戶則使用brew命令
brew upgrade pyenv
第 4 章:卸載 pyenv
由于 pyenv 把一切都放在 ~/.pyenv 下了,所以Linux下卸載分為兩步
刪除環(huán)境變量
執(zhí)行:rm -rf ~/.pyenv或者 rm -rf $(pyenv root)
Mac用戶卸載需要使用brew命令:
brew uninstall pyenv
感謝各位的閱讀!看完上述內容,你們對虛擬環(huán)境工具pyenv的使用方法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
本文標題:虛擬環(huán)境工具pyenv的使用方法
當前URL:http://bm7419.com/article2/pssgic.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司、品牌網(wǎng)站建設、網(wǎng)站設計公司、自適應網(wǎng)站、網(wǎng)站維護、微信小程序
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)