【最简易且成功率较高】使用conda创建虚拟环境并使用requirements.txt配置环境
r虽然网上有很多关于虚拟环境的配置和requirements.txt的文章,但是个人觉有的过于繁琐有的可能又无法实现,特别是一些问题的出现比较的小众,短时间内没有办法得到解决(如版本不对、库 与库之间的冲突等导致无法直接进行)。因此本文想用简易的方式和较为通解的方式来阐述安装的步骤,并且对一些可能出现的问题进行分析和提前规避。
本安装步骤较为基础,并且是主要针对于版本不对、库与库之间的冲突等导致无法直接进行requirements.txt安装的情况。
1.为啥要配置虚拟环境
虚拟环境究竟有什么用,对于初学者而言肯定听说很多人说关于虚拟环境的优点。虚拟环境确实有很多的长处,我们可以把虚拟环境理解为一个“容器”,我们可以在我们的这个容器之中安装一些任务的包,再执行令一个新的任务的时候也可以在另一个容器之中装一组新的包,并且容器与容器之间互不影响,这就是虚拟环境“容器”的优势所在。
2.虚拟环境配置的实操【基础款】
假如创建name为unet的虚拟环境。
1)首先确保已经按照要求安装好了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是创建的虚拟环境存放目录。
发现在地址前面有个*号,这是代表着目前所使用的环境为哪个,如果需要切换,需要输入
# 想要进baseconda 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,检验包的名称和版本是否为自己需要的
如果可以,收工~
来源地址:https://blog.csdn.net/m0_52595361/article/details/127672950
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341