pyenv

安装

1
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
1
2
3
4
vim ~/.zshrc
export PATH="/home/wangxiuwen/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

centos 执行 pyenv install 3.6.6 报错:

1
2
3
4
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?
WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?
WARNING: The Python sqlite3 extension was not compiled. Missing the SQLite3 lib?
Installed Python-3.6.6 to /root/.pyenv/versions/3.6.6

解决:
centos 需要安装依赖

1
2
3
4
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

查看正在使用的 python 版本:

1
pyenv versions

查看可安装的列表

1
pyenv install -l

安装/卸载

1
2
pyenv install 3.6.6 
pyenv uninstall 3.6.6

python 切换

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

pyenv-virtualenv

使用自动安装 pyenv 后,会自动安装 virtualenv

创建虚拟环境

1
pyenv virtualenv 2.7.10 tensorflow-2.7.0

当前虚拟环境

1
2
3
pyenv virtualenvs # 列出
pyenv activate env-name
pyenv deactivate

删除虚拟环境

1
2
pyenv uninstall my-virtual-env
rm -rf ~/.pyenv/versions/env-name # 或者删除其真实目录