最简易且成功率较高使用conda创建虚拟环境并使用requirements.txt配置环境

Posted Beyond0128

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最简易且成功率较高使用conda创建虚拟环境并使用requirements.txt配置环境相关的知识,希望对你有一定的参考价值。

r虽然网上有很多关于虚拟环境的配置和requirements.txt的文章,但是个人觉有的过于繁琐有的可能又无法实现,特别是一些问题的出现比较的小众,短时间内没有办法得到解决(如版本不对、库 与库之间的冲突等导致无法直接进行)。因此本文想用简易的方式和较为通解的方式来阐述安装的步骤,并且对一些可能出现的问题进行分析和提前规避。

本安装步骤较为基础,并且是主要针对于版本不对、库与库之间的冲突等导致无法直接进行requirements.txt安装的情况。

1.为啥要配置虚拟环境

虚拟环境究竟有什么用,对于初学者而言肯定听说很多人说关于虚拟环境的优点。虚拟环境确实有很多的长处,我们可以把虚拟环境理解为一个“容器”,我们可以在我们的这个容器之中安装一些任务的包,再执行令一个新的任务的时候也可以在另一个容器之中装一组新的包,并且容器与容器之间互不影响,这就是虚拟环境“容器”的优势所在。

2.虚拟环境配置的实操【基础款】

假如创建name为unet的虚拟环境。

1)首先确保已经按照要求安装好了conda

关于conda的安装可以参考

conda的安装和使用

再确保完成和确保conda安装成功后再进行后续操作。 

2)查看已有的虚拟环境

搜索框输入cmd,回车

 输入如下:

conda info --env

结果显示目前只有一个base的主环境,如果之前创建过虚拟环境,下面会显示你创建的虚拟环境。

 

 3)创建虚拟环境

建议最好创建虚拟环境的时候就确认并安装python所需要的版本,以免后期再更换而麻烦。

# 创建环境
conda create -n your_env_name python=x.x

 

P.S.如果想要删除环境,输入conda remove -n your_env_name --all即可。

之后可以再次查看已有虚拟环境,输入conda info --env

发现有两个环境,其中unet是刚刚新建的虚拟环境,后面给出了位置,是在安装了Anaconda位置的\\envs的目录下,因此我们可以得出\\envs是创建的虚拟环境存放目录。

发现在地址前面有个*号,这是代表着目前所使用的环境为哪个,如果需要切换,需要输入

# 想要进base
conda activate base
# 想要进你的环境
conda activate your_env_name

# 想要退出关闭环境
conda deactivate

4) 给pycharm配置刚刚建好的虚拟环境,即新的解释器

   

 

 

5)给虚拟环境安装相应的依赖包,主要以requirements为主

一般在python项目中,会包含一个 requirements.txt 文件,用于记录所有依赖包及其精确的版本号。以便新环境部署。一般的该文件需要通过pip安装。

首先打开pycharm,找到底下的terminal

注意,这里最好设置或者检查一下pycharm中terminal的默认位置,

 

选择框出的这个,按确定

再确认一下requirements.txt文件是不是在pycharm打开的同一目录之下

然后继续操作,点开底部的terminal, 输入

conda activate your_env_name

 前面发现有(环境名称),即说明进入成功

 先尝试直接输入

pip install -r requirements.txt

回车进行安装,如果没有爆红,即安装成功。

但是一般会遇到两个问题!!

        1) 下载出现包下载不了了,或者版本冲突了,这边建议一个【简单粗暴】的方法

即修改requirements.txt的版本号,将.txt文件中后面==x.x.x全部去掉,像这样 

 然后记得保存。

再次执行pip install -r requirements.txt操作,大概率会成功。

不过有人就会问了,明明白白的版本号给删掉了,难道在跑程序的时候不会出现问题,我个人认为所给的依赖包版本号是运行的版本最低限制,一般滞后性的安装包的版本都会高于所给限制要求。(当然这是一般而言,比如需要不超过某个版本的项目即不满足该结论)

因此是【简单粗暴】的方法

        2)下载的太慢了,建议使用临时镜像

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

 这个就是引用的清华镜像源,相对来说会快很多!

6)不报红,再检查是否确实安装成功

再继续输入conda list,检验包的名称和版本是否为自己需要的

 如果可以,收工~

conda 创建虚拟环境——安装requirements.txt依赖

参考技术A 为我的项目创建一个虚拟环境,并在虚拟环境中安装项目的requirements.txt文件。但是遇到了一个问题:使用命令:pip install -r requirements.txt安装了一部分之后就停住了,终端没有反应,需要Ctrl+C终止命令之后手动一个一个安装。不知道该如何解决。

使用conda create --name my_pro python2.7时总是出错,错误提示如下图:

然后我去掉python2.7.直接创建一个虚拟环境,直接创建一个虚拟环境my_pro,成功创建。

根据提示激活虚拟环境:conda activate my_pro:并出现下图错误。

根据提示:执行conda init bash,然后重启计算机

重启之后打开终端就已经在base环境中了,继续激活我自己创建的环境,然后就激活成功了。

在该环境中输入python,发现python的版本是我原本想要的(conda create --name my_pro python2.7),可能是因为我的anaconda2中自带的python是2.7版本的原因,导致我没有在环境名字的背后加上python2.7,但创建出来的虚拟环境中的python还是2.7版本的(ubuntu系统,所以我的系统中除了anaconda中的python2.7以外,还有系统自带的python3)。

cd 到我项目的目录中:

pip install -r requirements.txt.安装项目依赖

对于pip无法安装的,暂停,所以就手动使用conda安装。然后再次继续使用命令:pip install -r requirements.txt.安装。但是,当自动安装到第20个的时候,终端没反应了,需要Ctrl+C结束命令才行,然后重新手动安装。问题来了:手动安装了好几个,每手动安装完一个,就执行pip install -r requirements.txt,希望它继续自动安装,但是每次到第20行的时候都停住了,不再继续,同样需要Ctrl+C结束命令,然后手动一个一个安装。不知道该如何解决这个问题。

2019.4.19

对于上面的问题,我通过重启计算机,重新打开终端,然后输入命令:pip install -r requirements.txt重新安装依赖,在遇到requirements.txt文件中一行(也就是一个依赖包)没有安装成功时,则不会继续进行下去,否则每次到那个地方就会终断。

关于conda创建一个虚拟环境可以参考: Managing environments — conda 4.6.14.post2+0fde788a documentation

以上是关于最简易且成功率较高使用conda创建虚拟环境并使用requirements.txt配置环境的主要内容,如果未能解决你的问题,请参考以下文章

Anacodna 之 conda 与 virtualenv 对比使用教程,创建虚拟环境

conda 迁移环境

用conda创建python虚拟环境

anaconda创建删除虚拟环境指令

conda创建python环境

Anaconda-用conda创建python虚拟环境