我们在做开发任务时可能会创建多个项目,这些项目可能会依赖于不同的Python环境。比如有的用到Python3.6、有的用到Python3.7;有的用Pytorch开发、有的用TensorFlow开发。这时我们需要为不同的项目分别提供所需的版本和依赖项放到不同的虚拟环境中,这样可以将各项目所需环境隔离开,让项目之间不会起冲突。
本文介绍了使用conda方法创建虚拟环境的常用命令以及在Pycharm中使用该虚拟环境。
Anaconda是Python开源的发行版本,其中包含了conda、Python等180多个科学包及其依赖项。使用conda创建虚拟环境,可以在电脑里配置多个Python环境并灵活切换。
Anaconda与Pycharm的区别:Anaconda是管理Python的软件,而Pycharm就像是一个高级记事本。因此博主在使用Python环境时通常是使用Anaconda创建虚拟环境,通过Pycharm使用虚拟环境和编辑程序代码。
1.创建虚拟环境
conda create --name env_name python=3.7 -y
其中,env_name替换为自己想要的环境名字,python=3.7表示指定python版本为3.7,-y意味着遇到询问直接回复y(可不写该参数,后面自己选择输入),--name可以简写为-n
2.进入虚拟环境
conda activate env_name
3.退出虚拟环境
conda deactivate
4.查看当前虚拟环境列表
conda info -e
5.删除虚拟环境
conda remove --name env_name --all -y
6.克隆虚拟环境
conda create --name new_env_name--clone old_env_name # new_env_name 为新环境的名称# old_env_name 为被克隆的环境名称
7.重命名虚拟环境
conda rename --name old_name new_name
8.查看安装的包
conda list
9.安装包
conda install 包名
当然,Python自带的pip安装包工具也可以使用
pip install 包名
10.更新已安装包
# 更新env_name下numpy和scipyconda update -n env_name numpy scipy# 更新env_name中所有包conda update -n env_name --all
11.查看conda版本
conda --version
12.源服务器管理
conda config --show-sources # 查看当前使用源conda config --remove channels 源名称或链接 # 删除指定源conda config --add channels 源名称或链接 # 添加指定源
conda当前的源设置在$HOME/.condarc中,可通过文本查看器查看或者使用命令>conda config --show-sources查看。
国内pip源
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
# 例如:添加清华源conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
在Pycharm创建一个项目,并且进入到项目中,点击左上角文件【File】,选择设置【Settings】
选择项目解释器【Project Interpreter】,右上角齿轮选择添加【Add】
进入conda环境【Conda Environment】,选择现有环境【Existing environment】中的指定解释器【Interpreter】,最后选择确定【Ok】即可完成
本文记录了Anaconda创建虚拟环境和Pycharm使用虚拟环境的过程,重点介绍了conda的常用方法。同时也解释了为什么需要创建多个虚拟环境。
来源地址:https://blog.csdn.net/Gary_ghw/article/details/131305433