pyenv使用笔记
一、安装
- Ubuntu 自动安装:
$ curl https://pyenv.run | bash
- 将PYENV_ROOT和pyenv init加入bash的~/.bashrc
$ vim ~/.bashrc
将下面内容添加到最后:
export PATH="/home/zsj/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
- 激活~/.bashrc
$ source ~/.bashrc
二、使用
常用命令:
pyenv versions # 显示当前使用的python版本
pyenv install --list # 列出可安装版本
pyenv install <version> # 安装对应版本
pyenv uninstall <version> # 卸载对应版本
pyenv install -v <version> # 安装对应版本,若发生错误,可以显示详细的错误信息
pyenv which python # 显示当前python安装路径
pyenv global <version> # 设置默认Python版本
pyenv local <version> # 当前路径创建一个.python-version, 以后进入这个目录自动切换为该版本
pyenv shell <version> # 当前shell的session中启用某版本,优先级高于global 及 local
实例:
$ pyenv versions # 查看当前机器安装的python版本
* system (set by /home/zsj/.pyenv/version)
$ pyenv install 3.6.8 # 安装python3.6.8
* system (set by /home/zsj/.pyenv/version)
3.6.8
$ pyenv global 3.6.8 # 切换默认python版本到3.6.8
$ pyenv versions
system
* 3.6.8 (set by /home/zsj/.pyenv/version)
注意:pyenv install 时可能会很慢,可以将下载好的包放在~/.pyenv/cache/里面,没有该文件夹可以自行创建
虚拟环境:
pyenv virtualenv env #从默认版本创建虚拟环境
pyenv virtualenv 3.6.8 env-3.6.8 #从指定版本python创建虚拟环境
pyenv activate env-3.6.8 # 激活 env-3.6.8 这个虚拟环境
pyenv deactivate # 停用当前的虚拟环境
实例:
$ pyenv virtualenv 3.6.8 env3.6.8-0
$ pyenv verisons
* system (set by /home/zsj/.pyenv/version)
3.6.8
3.6.8/envs/env3.6.8-0
env3.6.8-0
会出现两个新的虚拟环境,使用的时候使用你创建的名字即可
$ pyenv activate env3.6.8-0 # 进入创建好的虚拟环境
(env3.6.8-0) zsj@..:~$ pyenv versions
system
3.6.8
3.6.8/envs/env3.6.8-0
* env3.6.8-0 (set by PYENV_VERSION environment variable)
$ which python3
/home/zsj/.pyenv/shims/python3
$ which pip
/home/zsj/.pyenv/shims/pip
$ pip show pip # 查看pip安装路径已经改变
Name: pip
Version: 19.0.3
Summary: The PyPA recommended tool for installing Python packages.
Home-page: https://pip.pypa.io/
Author: The pip developers
Author-email: pypa-dev@groups.google.com
License: MIT
Location: /home/zsj/.pyenv/versions/3.6.8/envs/env3.6.8-0/lib/python3.6/site-packages
Requires:
Required-by:
pip 此时和pip3一样
$ pyenv deactivate # 退出当前虚拟环境
$ pyenv verisons
* system (set by /home/zsj/.pyenv/version)
3.6.8
3.6.8/envs/env3.6.8-0
env3.6.8-0
$ pyenv virtualenv-delete env3.6.8-0 #删除创建的虚拟环境