pyenv 环境安装:
- 下载pyenv:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
ps:MacOS的话可以直接用homebrew安装:
brew update
brew install pyenv
- 添加shell配置文件到
~/.bashrc
(bash)或~/.bash_profile
(sh)MAC下是mac的话是.zshrc
,此处以~/.bashrc
为例export PYENV_ROOT="$HOME/.pyenv" export PATH=$PYENV_ROOT/shims:$PATH
- source一下配置文件:
source ~/.bashrc
输入pyenv --version测试一下是否成功
pyenv 基本使用(以Python3.6.8为例):
# 查看当前版本
pyenv version
# 查看所有版本
pyenv versions
# 查看所有可安装的版本
pyenv install --list
# 安装指定版本
pyenv install 3.6.8
# 安装新版本后rehash一下
pyenv rehash
# 删除指定版本
pyenv uninstall 3.6.8
# 指定全局版本
pyenv global 3.6.8
# 指定多个全局版本, 3版本优先
pyenv global 3.6.8 2.7.12
其他使用:
- pyenv global 3.6.8
全局设置python版本为指定版本3.6.8,设置全局的 Python 版本,通过将版本号写入 ~/.pyenv/version 文件的方式。 - pyenv local 3.6.8
设置当前路径下python版本为指定版本3.6.8,设置 Python 本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式,只在当前目录及其子目录生效。通过这种方式设置的 Python 版本优先级较 global 高。 - pyenv shell 3.6.8
设置当前shell窗口使用的python版本为指定版本3.6.8,设置面向 shell 的 Python 版本,通过设置当前 shell 的 PYENV_VERSION 环境变量的方式。这个版本的优先级比 local 和 global 都要高。- -unset 参数可以用于取消当前 shell 设定的版本。 - pyenv的版本控制及global、shell、local命令区别请参见此处。
包管理插件pyenv-virtualenv:
git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
注意:路径要和前面装pyenv路径相匹配,此处安装到.pyenv文件夹下的plugins文件夹- 添加shell配置:
mac OS使用:echo 'eval "$(pyenv init -)"' >> ~/.bashrc echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
brew install pyenv-virtualenv eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
创建虚拟环境:
# 创建一个3.6.8版本的虚拟环境, 命名为env368, 然后激活虚拟环境
pyenv virtualenv 3.6.8 env368
pyenv activate env368
# 关闭虚拟环境
pyenv deactivate env368
提示:切换版本后, 相应的pip和包仓库都是会自动切换过去的
常见问题:
- 报错:
-bash: pyenv: command not found
后尝试修改shell配置中:
将
修改为:export PATH=$PYENV_ROOT/shims:$PATH
export PATH=$PYENV_ROOT/bin:$PYENV_ROOT/shims:$PATH
- 当使用
pyenv global 3.6.8
设置全局Python版本的命令后,需要取消全局,使用系统版本时(执行pyenv global system
切换全局为系统版本)报错pyenv: version 'system' not installed
:
设置~/.pyenv
下的version
文件:尝试将其中的版本号,例如3.6.8
手动改为system
下载Python太慢问题:
- 例如从python.org下载,国内速度不敢恭维:
[root@localhost ~]# pyenv install 3.6.8
Downloading Python-3.6.8.tar.xz...
-> https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz
可以先从搜狐【或者阿里】提供的镜像网站下载指定的Python版本到~/.pyenv/cache目录下,然后再用pyenv install命令安装,就可以很快完成了。
wget http://mirrors.sohu.com/python/3.6.8/Python-3.6.8.tar.xz -P ~/.pyenv/cache
再使用:
pyenv install 3.6.8
即可以跳过下载,直接安装。
[root@localhost ~]# pyenv install 3.6.8
Installing Python-3.6.8...
patching file Lib/venv/scripts/posix/activate.fish
Installed Python-3.6.8 to /root/.pyenv/versions/3.6.8