由于 Python
拥有众多的版本,以及不同模块也有不同的版本。同一模块不同版本有时需要的 Python
版本是不相同的,所以 Python
的版本控制显得尤为重要。
目前,常用的有以下三种工具进行 Python
版本管理:
virtualenv
virtualenv
用来为一个应用创建一套“隔离”的 Python
运行环境。
Install
pip3 install virtualenv
Create virtualenv
# 创建一个名为ENV的目录 参数--no-site-packages 不复制已经安装到系统Python环境中的第三方包
virtualenv --no-site-packages ENV
Activate virtualenv
source ENV/bin/activate
Exit virtualenv
deactivate
pyenv
pyenv
可以改变全局的 Python
版本,安装多个版本的 Python
, 设置目录级别的 Python
版本,还能创建和管理 virtual python environments
。
pyenv项目是参考 rbenv 和 ruby-build 演变过来的。
Install
$ brew update
$ brew install pyenv
Common command
使用 pyenv commands
显示所有可用命令
pyenv versions # 查看本机安装版本
pyenv --version # 查看当前版本
pyenv install -l # 查看可安装 Python 版本
pyenv install 3.6.8 # 安装 python 3.6.8 版本
pyenv uninstall 3.6.8 # 卸载 python 3.6.8 版本
# python 版本切换 shell > local > global
pyenv global 3.6.8 # 设置全局的 Python 版本,版本号写入 ~/.pyenv/version 文件
pyenv local 3.6.8 # 设置 Python 本地版本,版本号写入当前目录下 .python-version 文件
pyenv-virtualenv
pyenv
插件:pyenv-virtualenv
Install
brew install pyenv-virtualenv
Create virtualenv
# 指定 Python 版本创建 virtualenv
pyenv virtualenv 2.7.10 my-virtual-env-2.7.10
# 当前 Python 版本创建 virtualenv
pyenv virtualenv venv34
List existing virtualenvs
pyenv shell venv34
pyenv virtualenvs
Activate virtualenv
pyenv activate <name>
pyenv deactivate
Delete existing virtualenv
# 删除 virtualenv 工作目录,或者运行以下方式
pyenv uninstall my-virtual-env
pyenv virtualenv-delete my-virtual-env
Anaconda
Anaconda 在英文中是“蟒蛇”,包管理器和环境管理器。Anaconda
附带了一大批常用数据科学包,附带了conda
、numpy
、scipy
、 Python
在内的超过180个科学包及其依赖项。
Anaconda 是在 conda(一个包管理器和环境管理器)上发展出来的,拥有1,000+开源库(若不必要使用1,000多个库,那么可以考虑安装 Miniconda), Jupyter notebook 可以将数据分析的代码、图像和文档全部组合到一个web文档中
Install
Anaconda 可用于多个平台( Windows、Mac OS X 和 Linux)。可以在下面地址上找到安装程序和安装说明,根据你的操作系统是32位还是64位选择对应的版本下载。
官网地址:www.anaconda.com/distributio…
# 卸载 anaconda3
rm -rf ~/anaconda3
Common command
# 更新conda至最新版本
conda update conda
# 查看 conda 安装版本
conda --version
conda -V
# 列出环境
conda env list
conda info -e
conda info --envs
# 当前环境中安装包
conda install <package_name>
# 指定环境中安装包
conda install --name <env_name> <package_name>
# 更新所有包
conda update --all
conda upgrade --all
# 更新指定包
conda update <package_name>
conda upgrade <package_name>
# 卸载当前环境中的包
conda remove <package_name>
# 卸载指定环境中的包
conda remove --name <env_name> <package_name>
conda install 无法进行安装时,可以使用pip进行安装。
pip只是包管理器,无法对环境进行管理,需先切换到指定环境,再使用pip命令安装包。pip无法更新Python,因为pip并不将 Python 视为包
Create env
conda create --name <env_name> <package_names>
# 例 创建环境名称为py3,并安装最新版本的Python3
conda create -n py3 python=3
Activate env
conda activate <env_name>
'source activate' is deprecated. Use 'conda activate'
Exit env
conda deactivate
'source deactivate' is deprecated. Use 'conda deactivate'
Share env
# save environment
conda env export > /path/to/environment.yaml
# update environment
conda env update -f=/path/to/environment.yml
# install environment
pip install -r /path/to/environment.yml
Remove env
conda remove --name <env_name> --all
Other Resources
[jupyter notebook 可以做哪些事情?