pyenv和virtualenv用法


1. pyenv 多版本示意圖

pyenv多版本示意圖

2. pyenv 用途

pyenv是管理python版本的工具。安裝pyenv后,可以管理各種python版本,並且各個版本的環境完全獨立,互不干擾。

3. 安裝pyenv

3.1 下載pyenv的代碼到~/.pyenv目錄下

git clone https://github.com/yyuu/pyenv.git ~/.pyenv

3.2 添加環境變量

如果你用的是bash, 將以下環境變量添加到 ~/.bash_profile, 我用的是zsh,添加到的是 ~/.zshrc

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc

3.3 啟動shell時,自動初始化pyenv

echo 'eval "$(pyenv init -)"' >> ~/.zshrc

3.4 重新加載配置文件

source ~/.zshrc

3.5 安裝依賴項

yum -y install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel

3.6 查看版本

whereis pyenv
pyenv: /root/.pyenv/bin/pyenv

pyenv --version
pyenv 1.1.5-42-g435e362

4. pyenv的使用

4.1 查看當前使用的python版本

pyenv version 
system (set by /root/.pyenv/version)  # system表示系統安裝的版本

4.2 查看可安裝的版本列表

pyenv install --list
Available versions:
  2.1.3
  2.2.3
  2.3.7
  2.4
  ...

4.3 安裝其他版本(以3.6.2為例)

pyenv install 3.6.2 # 安裝版本(很慢,默認的源很卡)

# 默認的安裝源很卡,建議用以下方式安裝:

v=3.6.2|wget http://mirrors.sohu.com/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/;pyenv install $v # 用國內源安裝很快

4.4 查看已安裝的版本

pyenv versions
* system (set by /root/.pyenv/version)
  3.6.2

4.5 將3.6.2作為當前使用版本

pyenv global 3.6.2 # 全局設置版本
# pyenv local 3.6.2 # 局部設置版本,當前目錄生效

pyenv versions    
  system
* 3.6.2 (set by /root/.pyenv/version)

4.6 卸載版本

pyenv uninstall 3.6.2

4.7 查看所有pyenv的指令

pyenv commands

5. virtualenv

virtualenv是python的虛擬化環境,用於管理python包,讓系統環境干凈。

5.1 安裝pyenv-virtualenv

5.1.1 下載代碼

git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

5.1.2 配置自動激活

echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc

5.1.3 重新啟動shell

source ~/.zshrc

5.2 pyenv-virtualenv的使用

5.2.1 創建3.6.2版本的虛擬環境

pyenv virtualenv 3.6.2 py3.6.2 

5.2.2 查看當前使用Python版本

pyenv versions  
  system
* 3.6.2 (set by /root/.pyenv/version)
  3.6.2/envs/py3.6.2
  py3.6.2

5.2.3 使3.6.2版本的虛擬環境生效

pyenv activate py3.6.2

5.2.4 退出虛擬環境

pyenv deactivate

5.2.5 刪除虛擬環境

rm -rf ~/.pyenv/versions/py3.6.2

5.3 pyenv和virtualenv總結

pyenv用來管理python自身的版本,virtualenv用來管理某個python環境下的包。

6. pip 生成和安裝requirements.txt

# 生成
pip freeze > requirements.txt

# 安裝
pip install -r requirements.txt

10. 參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM