python 虚拟环境配置

1 minute read

Published:

先确保自己的用户目录下安装了 anaconda,接下来我们会使用 anaconda 来创建一个属于自己的虚拟环境,这样就不会被其他项目环境所干扰,无论在 mac 还是 linux 下都推荐使用虚拟环境。

注意:anaconda 本身也自带一个 python,不建议直接使用。

安装 Anaconda

1、下载 Anaconda,如果是 root 用户第一次安装需要一些依赖等请参考官方教程 Installing on Linux

Miniconda 体积更小更方便,Linux 一般安装 Linux 64-bit 版本

# wget -c https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh
wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# -c 断点重传

2、安装 Anaconda

# bash Anaconda3-2019.10-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh -b
# -b 无交互安装
# 在安装过程中问你是否要 conda init 请输入 yes。
# ubuntu 会自动写一些需要的环境变量到 ~/.bashrc 中,mac 会写到 ~/.bash_profile 中

3、如果在上一步没有 conda init 初始化,则需要手动 conda 初始化

# 首先激活 conda 环境,否则你输入 conda 会提示找不到命令
# source ~/anaconda3/bin/activate
source ~/miniconda3/bin/activate
conda init zsh bash
# 设置自动激活 conda 环境,每次登录用户名之前自动有 (base) 标志
conda config --set auto_activate_base True

4、上面初始化后配置文件被修改了,需要激活一下,执行以下命令或重启终端即可。

# linux 下
source ~/.bashrc
# mac 下
source ~/.bash_profile

5、查看当前的 conda 信息是不是符合预期(目录路径是不是都是本地用户目录的路径)

conda info

虚拟环境配置

添加源

# 添加 pip 源,用于 pip install
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

# 添加 conda 源,用于 conda install
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 --set show_channel_urls yes

创建虚拟环境

conda create -n new_env_name python=3.8
# [new_env_name]: 创建的虚拟环境的名字
# [3.6]: 创建虚拟环境的 python 版本号

复制虚拟环境

conda create -n new_env_name --clone old_env_name
# [new_env_name]: 创建的虚拟环境的名字
# [old_env_name]: 被复制的虚拟环境的名字

建议:由于创建新的环境比较慢,复制环境比较快,所以你可以先创建一个 py36 的虚拟环境作为基本的,并安装一些基本的包,以后每次要开一个新项目环境(如项目环境 question)就从 py36 复制出来用,再在新环境上安装你想要的东西。

# 在创建环境时便使用 conda 安装一些基本的包
conda create -n py38 python=3.8 numpy pandas

# 本人习惯在创建环境后使用 pip 安装一些基本的包而不是使用 conda 安装
pip install numpy pandas scipy matplotlib sympy tqdm ipykernel jupyter scikit-learn torch==1.8.1 tensorboard seaborn==0.9.0 --timeout 60000000
conda install -c anaconda cudatoolkit=11.0

conda create -n question --clone py38

进入与退出虚拟环境

# 进入虚拟环境
conda activate env_name
# [env_name]: 虚拟环境的名字

# 退出虚拟环境
conda deactivate

当你进入虚拟环境(conda activate env_name)之后你这时候无论执行什么命令如 python ***.pypip installconda install 都是在这个虚拟环境执行的,用这个环境下的 python 去编译文件,下载包也会下载到当前虚拟环境下。

所以我们每次在命令行执行关于 python 的命令时一定要留意我们当前在哪个环境下。

查看所有的虚拟环境(当前所在的虚拟环境会被打 * 号)

conda info -e

查看 conda 配置信息

conda config --show

删除虚拟环境

conda remove -n env_name --all

常用位置

python 包的位置

~/anaconda3/envs/rl/lib/python3.6/site-packages/

python 内核的位置

~/anaconda3/envs/rl/bin/python

参考资料及致谢

Installing on Linux

mac下anaconda的安装及简单使用