Pyenv python多版本控制

2021-10-01 12:30:56 字數 4354 閱讀 7905

pyenv是個多版本python管理器,可以同時管理多個python版本共存,如pypy,miniconde等等
配置

1 環境準備 安裝相關軟體和pyenv

1.1 安裝相關軟體

yum install -y readline readline-devel readline-static openssl openssl-devel openssl-static sqlite-devel bzip2-devel bzip2-libs

1.1 轉殖pyenv

git clone ~/.pyenv

1.2 設定相關環境變數,使pyenv生效

echo

'export pyenv_root="$home/.pyenv"'

>> ~/.bash_profile

echo

'export path="$pyenv_root/bin:$path"'

>> ~/.bash_profile

echo

'eval "$(pyenv init -)

"'>> ~/.bash_profile

exec

$shell -l

2 安裝python

2.1 常用pyenv操作

pyenv install --list 檢視可安裝的python版本

pyenv install 3.5.0 安裝python3.5.0

pyenv uninstall //解除安裝

2.2 更新pyenv

安裝完之後,需要更新一下才能看到已經安裝的版本

pyenv rehash

pyenv versions //檢視已經安裝好的版本,帶*號的為當前使用的版本

2.3 選擇python版本

pyenv global 3.5.0 //設定全域性版本,即系統使用的將是此版本

pyenv local 3.5.0 //當前目錄下的使用版本,有點類似virtualenv

補充:網路問題導致安裝緩慢或無法進行

3 python virtualenv建立純淨虛擬環境

雖然直接安裝pip安裝virtualenv也行,但是通過pyenv外掛程式的形式安裝virtualenv的虛擬環境更加方便,因為之後的操作會比較方便。

3.1 安裝外掛程式pyenv-virtualenv

參考文章:

pyenv-virtualenv外掛程式安裝:專案主頁:

pyenv virtualenv是pyenv的外掛程式,為unix系統上的python virtualenvs提供pyenv virtualenv命令。

3.2 安裝virtualenv

git clone .git ~/.pyenv/plugins/pyenv-virtualenv

echo

'eval "$(pyenv virtualenv-init -)

"'>> ~/.bash_profile

這個外掛程式將安裝在主資料夾下的.pyenv資料夾中。

3.3 建立乙個2.7.13的虛擬環境

pyenv virtualenv 2.7.13 py27

source ~/.bash_profile

這條命令在本機上建立了乙個名為env271的python虛擬環境,這個環境的真實目錄位於:~/.pyenv/versions/

注意,命令中的 『2.7.13』 必須是乙個安裝前面步驟已經安裝好的python版本, 否則會出錯。

然後我們可以繼續通過 『pyenv versions』 命令來檢視當前的虛擬環境。

3.4 切換和使用新的python虛擬環境:

pyenv activate env271

這樣就能切換為這個版本的虛擬環境。通過輸入python檢視現在版本,可以發現處於虛擬環境下了。

如果要切換回系統環境, 執行這個命令即可

pyenv deactivate

那如果要刪除這個虛擬環境呢? 答案簡單而且粗暴,只要直接刪除它所在的目錄就好:

rm -rf ~/.pyenv/versions/env271/

或者解除安裝:

pyenv uninstall env271

4 安裝ipython

centos7 已經帶有pip,不用安裝pip(在centos6 叫python-pip,在centos7 叫pip)

yum install python-pip

進入python環境後, 安裝ipython,若是python2+,需要指定ipython版本為ipython==1.2.1

pip install ipython

1 環境準備 安裝相關軟體和pyenv

#!/usr/bin/env bash

# 安裝相關軟體和pyenv

yum install -y readline readline-devel readline-static openssl openssl-devel openssl-static sqlite-devel bzip2-devel bzip2-libs

# 轉殖pyenv

git clone ~/.pyenv

# 匯出環境變數,使pyenv生效

echo

'export pyenv_root="$home/.pyenv"'

>> ~/.bash_profile

echo

'export path="$pyenv_root/bin:$path"'

>> ~/.bash_profile

echo

'eval "$(pyenv init -)

"'>> ~/.bash_profile

exec

$shell -l

2 安裝python

#!/usr/bin/env bash

python2=2.7.13

python2_url=

""python3=3.6.0

python3_url=

""test -e ~/.pyenv/cache ||

mkdir -p ~/.pyenv/cache

cd ~/.pyenv/cacheif!

ls python-$.tar.xz &

> /dev/null;

then

wget

$python2_url

fipyenv install

$python2 -vif!

ls python-$.tar.xz &

> /dev/null;

then

wget

$python3_url

fipyenv install

$python3 -v

git clone .git ~/.pyenv/plugins/pyenv-virtualenv

echo

'eval "$(pyenv virtualenv-init -)

"'>> ~/.bash_profile

source ~/.bash_profile

3 python virtualenv建立純淨虛擬環境

#!/usr/bin/env bash

python2=2.7.13

python3=3.6.0

pyenv virtualenv $python2 py27

pyenv virtualenv $python3 py35

echo

'alias py27="pyenv activate py27"'

>> ~/.bash_profile

echo

'alias py35="pyenv activate py35"'

>> ~/.bash_profile

echo

'alias pyd="pyenv deactivate"'

>> ~/.bash_profile

source ~/.bash_profile

4 安裝ipython

#!/usr/bin/env bash

# 使用py27進入python環境後,進行以下操作。

# py27

yum install python-pip

pip install ipython==1.2.1

#!/usr/bin/env bash

# 使用py35進入python環境後,進行以下操作。

# py35

yum install python-pip

pip install ipython

利用pyenv實現python的多版本控制

在學習和利用python開發的很多情況下,需要多版本的python並存。此時需要在系統中安裝多個python,但又不能影響系統自帶的 python。pyenv 就是這樣乙個 python 版本管理器。安裝pyenv curl l bash 配置環境變數 安裝完成後,根據提示將如下語句加入到 bash...

Mysql知識延展(七)MVCC多版本併發控制

mvcc簡述 mvcc mutil version concurrency control 就是多版本併發控制。mvcc 是一種併發控制的方法,一般在資料庫管理系統中,實現對資料庫讀寫的併發訪問。在mysql的innodb引擎中就是指在已提交讀 read committd 和可重複讀 repeata...

MySql 事務詳解與 MVCC 多版本併發控制

原子性 atomicity 事務包含的所有操作要麼全部成功,要麼全部失敗回滾。一致性 consistency 事務必須使資料庫從乙個一致性狀態變換到另乙個一致性狀態,也就是說乙個事務執行之前和執行之後都必須處於一致性狀態。隔離性 isolation 事務之間相互隔離不被干擾。永續性 durabili...