使用pyenv
和pyenv-virtualenv
可以轻松的管理不同版本的Python,而且各个版本的环境完全独立,互不干扰,在Linux下结合shell,是十分推荐的。
这里记录Ubuntu系统下的安装、使用的一些步骤,同时也记录一些使用Pyenv的一些比较复杂的问题的解决方案。
安装
依赖安装
为了避免一些不必要的麻烦,这里建议是提前安装一些依赖:
1 | sudo apt install -y git make wget curl build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libncurses5-dev libncursesw5-dev llvm |
安装pyenv
- clone项目到当前用户目录下
1
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
注:如果使用zsh则将下面 ~/.bash_profile
改为 ~/.zshrc
添加环境环境变量
1
2echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile添加
pyenv init
到shell中1
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
重启shell
1
exec "$SHELL"
查看pyenv安装版本,可以查看本机安装Python版本
1
pyenv verson
安装pyenv-virtualenv
clone插件到pyenv的安装路径
1
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
添加
pyenv virtualenv-init
到shell中1
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
注:如果使用zsh则将下面
~/.bash_profile
改为~/.zshrc
重启shell
1
exec "$SHELL"
使用
查看当前版本
1
pyenv version
查看所有版本
1
pyenv versions
查看所有可安装的版本
1
pyenv install --list
安装指定版本
1
pyenv install 3.6.5
安装新版本后rehash一下
1
pyenv rehash
删除指定版本
1
pyenv uninstall 3.6.5
指定全局版本
1
pyenv global 3.6.5
创建一个3.6.5版本的虚拟环境, 命名为v365env
1
pyenv virtualenv 3.6.5 v365env
激活虚拟环境
1
pyenv activate v365env
关闭虚拟环境
1
pyenv deactivate v365env
指定局部版本,会在当前目录下创建
.python-version
,如果是git仓库,请记得将该文件添加到.gitignore
,下次再进入当前目录是,会自动激活该虚拟环境。1
pyenv local v365env
问题
python3.6使用tkinter提示 No module named ‘_tkinter’
问题:
1 | import _tkinter # If this fails your Python may not be configured for Tk |
解决方法如下:
1 | sudo apt update |
安装完成之后,重新安装Python:
1 | pyenv uninstall 3.6.6 # 卸载原来安装的版本 |