最近正在重頭梳理Python的基礎(chǔ)知識(shí),為了更好地使用Python進(jìn)行開發(fā),防止發(fā)生版本混亂(不同的第三方庫有可能因?yàn)镻ython版本不兼容而報(bào)錯(cuò)),所以需要使用pyenv進(jìn)行版本管理。
通常來說,安裝一個(gè)開源程序需要自己編譯和下載相關(guān)依賴包,但是作者提供個(gè)一個(gè)簡易的安裝器,只需要一條命令即可搞定安裝。
$ curl https://pyenv.run | bash
pyenv.run重定向到github內(nèi)的安裝腳本,上面這句命令等同于
$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
如果要升級(jí)pyenv:
$ pyenv update
卸載pyenv(pyenv安裝的默認(rèn)路徑為~/.pyenv,如果自定義安裝路徑則刪除自定義文件夾):
$ rm -fr ~/.pyenv
并刪除.bashrc下面的環(huán)境變量:
export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
遇到的問題
輸入:
pyenv --version
1.報(bào)錯(cuò):command ‘pyenv’ Not Found
解決:檢查.bashrc中有沒有添加pyenv的環(huán)境變量信息,沒有則添加進(jìn)去(使用其他shell,如zsh的,則在.zshrc中添加。)
2.找不到zlib包(缺少依賴)
解決:輸入下面命令安裝
$ sudo apt-get install zlib1g-dev
pyenv常用命令
pyenv install --list 查看python版本
pyenv install 3.6.1 安裝對(duì)應(yīng)版本python
pyenv local 3.6.1 當(dāng)前目錄下python環(huán)境指定為3.6.1
pyenv versions 查看系統(tǒng)中已安裝的python版本
pyenv-virtualenv: 管理虛擬環(huán)境的插件
pyenv 解決的是同一個(gè)系統(tǒng)中不同版本的 python 并存的問題,而 pyenv-virtualenv 解決的是不同項(xiàng)目所依賴的軟件包之間可能產(chǎn)生沖突的問題。
pyenv-virtualenv安裝方法:
pip install pyenv-virtualenv
創(chuàng)建獨(dú)立虛擬python環(huán)境
pyenv virtualenv 3.4.9 env349 創(chuàng)建python3.4.9的虛擬環(huán)境
pyenv activate env349 啟用python3.4.9環(huán)境
pyenv deactivate 退出虛擬python環(huán)境
至此,Pyenv+virtualenv版本管理系統(tǒng)搭建完成,可以在一臺(tái)主機(jī)上互不干擾的使用不同版本的python+第三方庫的組合了
補(bǔ)充:最近在自己虛擬機(jī)上安裝時(shí)遇到了新的問題,記錄下
CentOS7下使用pyenv安裝多個(gè)版本的python時(shí)會(huì)提示缺少依賴環(huán)境
這是因?yàn)橛行┮蕾嚢鼪]有安裝,執(zhí)行以下命令安裝
yum install readline readline-devel readline-static -y yum install openssl openssl-devel openssl-static -y yum install sqlite-devel -y yum install bzip2-devel bzip2-libs -y
再安裝就成功了
使用pyenv安裝Python版本
0.查看所有的python版本(pyenv管理的所有版本)
$ pyenv versions
system (set by /Users/xxx/.pyenv/version)
表示當(dāng)前正在使用的版本,system表示用的是系統(tǒng)python版本
1.安裝各種所需要的依賴
sudo apt-get install libc6-dev gcc
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
2.安裝 python 2.7.14(時(shí)間可能稍微有點(diǎn)長)
pyenv install 2.7.14 -v
3.安裝 python 3.6.4(時(shí)間可能稍微有點(diǎn)長)
pyenv install 3.6.4 -v
4.更新pyenv的數(shù)據(jù)庫
pyenv rehash
- 查看 pyenv支持管理的python 版本
pyenv versions
-
選中3.6.4(pyenv數(shù)據(jù)庫中存在的版本)作為默認(rèn)版本 - 切換版本
注意切換為全局切換
pyenv global 3.6.4
注:如果版本沒有切換成功,需要在~/.bash_profile 文件中添加如下兩句話
然后切換版本
export PYENV_ROOT=~/.pyenv
export PATH=$PYENV_ROOT/shims:$PATH
然后查看成功
:~$ pyenv versions
system
* 3.6.4 (set by /home/sdas/.pyenv/version)
使用pyenv+virtualenv創(chuàng)建虛擬環(huán)境
1.使用pip安裝virtualenv
pip install virtualenv
2.創(chuàng)建你的python虛擬環(huán)境(3.6.4是你pyenv數(shù)據(jù)庫中存在的版本,env36是你虛擬環(huán)境的名字,可以任意起)
pyenv virtualenv 3.6.4 env36
3.切換到你的虛擬環(huán)境
pyenv activate env36
如果命令行中有(env36),如(env36) yfx@bo:~$,說明你處于env36的虛擬環(huán)境中
4.退出虛擬環(huán)境
pyenv deactivate
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
