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