Python多版本管理工具pyenv

pyenv是一个forked自ruby社区的简单、低调、遵循UNIX哲学的Python环境管理工具, 它可以轻松切换全局解释器版本, 同时结合vitualenv插件可以方便的管理对应的包源.

pyenv 让您可以轻松地在多个 Python 版本之间切换。它简单、不显眼,并且遵循 UNIX 的传统,即做好一件事的单一用途工具。

安装方法

获得pyenv

安装pyenv

在linux操作系统中:

1
2
wget  https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer
bash pyenv-installer

使用命令leafpad .bashrc打开.bashrc文件,在其末尾输入如下内容:

1
2
3
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

完成安装

  1. 添加PYENV, PYENV_HOME, PYENV_ROOT三个环境变量。
  2. 将pyenv-win所在路径添加到PATH环境变量。
  3. 使用命令 pyenv –version 查看pyenv版本。
  4. 在 %USERPROFILE% 目录运行命令 pyenv rehash。
  5. 运行 pyenv 查看使用方法。

使用方法

安装python解释器

1
2
3
4
5
6
7
8
9
10
# No module named '_ctypes'解决方法
sudo apt-get install -y libffi-devel
sudo apt-get install -y git openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev
#
pyenv install 3.7.3 # 安装 python
pyenv versions # 查看本机安装版本
pyenv install --list # 查看可安装版本

# pyenv install build failed:Fatal: You must get working getaddrinfo() function
PYTHON_CONFIGURE_OPTS="--disable-ipv6" proxychains pyenv install 3.9.6

卸载python解释器

1
pyenv uninstall 2.7.3 # 卸载 python

Python 切换

切换全局或者项目中的 Python 版本:

1
2
pyenv global 2.7.3  # 设置全局的 Python 版本,通过将版本号写入 ~/.pyenv/version 文件的方式。
pyenv local 2.7.3 # 设置 Python 本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式。通过这种方式设置的 Python 版本优先级较 global 高。

寻找 python 的时候优先级:

1
shell > local > global
1
2
3
4
5
pyenv shell 2.7.3 # 设置面向 shell 的 Python 版本,通过设置当前 shell 的 PYENV_VERSION 环境变量的方式。这个版本的优先级比 local 和 global 都要高。`--unset` 参数可以用于取消当前 shell 设定的版本。

pyenv shell --unset

pyenv rehash # 创建垫片路径(为所有已安装的可执行文件创建 shims,如:~/.pyenv/versions/*/bin/*,因此,每当你增删了 Python 版本或带有可执行文件的包(如 pip)以后,都应该执行一次本命令)

安装卸载python包

1
2
3
4
pip freeze > requirement #导出依赖包
pip install -r requirement #安装依赖包
pip install -r requirement --proxy localhost:8080 # 通过代理服务安装依赖包
pip uninstall -r requirement #卸载所有依赖包

创建虚拟环境

venv

venv是python从3.3版本开始自带的虚拟环境,它的很多操作都和 virtualenv 类似,但是两者运行机制不同。要在 python2 上使用虚拟环境,依然要利用 virtualenv。

1
2
3
python -m venv env
.\env\Scripts\activate
deactivate

virtualenv

virtualenv 是目前最流行的 Python 虚拟环境配置工具。它不仅同时支持 Python2 和 Python3,而且可以为每个虚拟环境指定 Python 解释器,并选择不继承基础版本的包。

1
2
3
4
5
pip install virtualenv
pyenv exec virtualenv myproject
cd myproject
.\env\Scripts\activate
deactivate

参考链接

  1. Python多版本管理工具–pyenv,by tigeriaf.
  2. Python版本管理神器-pyenv,by 安阳.
  3. pyenv,by pyenv.
  4. pyenv for Windows,by pyenv-win.
  5. Windows环境下的Python环境搭建,by 魏晓蕾.
  6. 使用 pyenv 管理 Python 版本,by Ein Verne.
  7. Windows平台Python安装与配置教程,by jackhuang.
  8. Pipenv最新一代Python项目环境与依赖管理工具,by jackhuang.
  9. 一文解读 virtualenv & venv & pipenv 之间的联系与区别,by I’m George.
  10. 什么时候-e,–editable选项对pip安装有用,by qastack.
  11. 1. 让PIP源使用国内镜像,提升下载速度和安装成功率。,by dotohi.
  12. pip install –proxy,by pip homepage.
  13. 花了两天,终于把 Python 的 setup.py 给整明白了,by 王炳明.
  14. pyenv install build failed:Fatal: You must get working getaddrinfo() function.,by Honcy Ye.
  15. python虚拟环境管理工具venv教程,by Yunfeng.
  16. Python3.7.0以上版本安装pip报错ModuleNotFoundError: No module named ‘_ctypes’解决方法,by bro丶默默.