python虚拟环境管理
使用conda维护虚拟环境
如果安装了 Anaconda 的环境,强烈建议使用 conda 。
conda 其核心功能是包管理与环境管理,当然也可以对虚拟环境进行创建、删除等操作需要使用conda命令。
conda 本地环境常用操作
- 获取版本号
$ conda --version 或 conda -V
- 检查更新当前conda
$ conda update conda
- 查看当前存在哪些虚拟环境
$ conda env list
$ conda info -e
- python package 管理
# 列举所有 package
$ conda list
# 搜索指定 package
$ conda search package_name
# 安装指定 package, 指定版本, 默认为最新版本
$ conda install package_name
$ conda install package_name=1.5.0
# 更新指定 package
$ conda update package_name
# 卸载指定 package
$ conda remove package_name
conda创建虚拟环境
- 创建虚拟环境
使用如下命令即可创建虚拟环境
# 创建名为 env_name 的环境
# env_name 目录可以在 Anaconda 安装目录 envs 目录下找到。
$ conda create --name env_name
$ conda create -n env_name
# 创建制定 python 版本的环境
# 创建 python 版本为 X.X、名字为 env_name 的虚拟环境
# 在不指定 python 版本时,自动安装最新python版本。
$ conda create --name env_name python=2.7
$ conda create --name env_name python=3.7
# 创建包含某些包(如numpy,scipy)的环境
$ conda create --name env_name numpy scipy
# 创建指定python版本下包含某些包的环境
$ conda create --name env_name python=3.7 numpy scipy
- 激活虚拟环境
使用如下命令即可激活创建的虚拟环境
# Linux
$ source activate env_name
# Windows
$ activate env_name
- 退出虚拟环境
使用如下命令即可退出创建的虚拟环境
# Linux
$ source deactivate env_name
# Windows
$ deactivate env_name
- 删除虚拟环境
使用如下命令即可删除创建的虚拟环境
$ conda remove --name env_name --all
$ conda remove -n env_name --all
- 克隆某个环境
使用如下命令即可克隆出来一个新虚拟环境
$ conda create --name new_env_name --clone old_env_name
- 在指定环境中管理包
$ conda list -n env_name
$ conda install --name env_name package_name
$ conda remove --name env_name package_name
python 环境配置小技巧
使用国内软件源加速
- 使用国内 conda 软件源加速
配置完之后就可以像平常一样安装包,速度提升几十倍
# 清华镜像源
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
$ conda config --set show_channel_urls yes
- 使用国内 pip 软件源加速
常用的国内pip软件源
阿里云 http://mirrors.aliyun.com/pypi/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
# 清华镜像源
## 1.临时设置方法:
## 可以在使用pip的时候加在最后面加上参数 -i https://pypi.tuna.tsinghua.edu.cn/simple
$ pip install jieba -i https://pypi.tuna.tsinghua.edu.cn/simple # jieba 是一个包
## 2.永久设置方法:
$ pip install pip -U
$ pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 像平常一样安装包
$ pip install jieba
# 阿里云镜像源
pip install pandas -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install pandas -i http://mirrors.aliyun.com/pypi/simple/
分享环境配置
特别是项目代码部署时,如果携带环境配置时,直接创建就可以运行起来项目代码。
- 使用 conda 配置环境
# 激活要分享的环境 target_env
$ source activate target_env
# 在当前工作目录下生成一个 environment.yml 文件
$ conda env export > environment.yml
# 通过 environment.yml 创建环境
$ conda env create -n env_name -f environment.yml
- 使用 pip 配置环境
# 在当前工作目录下生成一个 environment.yml 文件
$ pip freeze > requirements.txt
# 通过 environment.yml 创建环境
$ pip install -r requirements.txt