首页 > 其他分享 >environment.yml配置环境

environment.yml配置环境

时间:2024-11-13 14:45:48浏览次数:1  
标签:配置 环境 environment pytorch conda 版本 pip 安装 yml

配环境总是一个老生常谈的问题,有些项目写得好的,会把一些冗余的包删除,只留下必要的包,并且手把手教你pip安装,但是有些项目就直接丢一个200~300行的environment.yaml文件或者requirement.txt文件让你自己去配,虽然也有相关的环境配置内容,但能够按照步骤一次通过配置的可能性很低,而且大部分问题会跟系统环境、pytorch版本、anaconda版本有关,最终结果就是有些包配了半天终于配好了,结果代码里面直接一个注释不用了,总之就是让人十分折磨。本文决定对一些常见配环境问题进行一个简单的总结,希望可以帮到大家。

在conda中,一般通过yaml文件来配置环境的命令为:

conda env create -f environment.yml -n 环境名

但能够一次性成功配置环境属于少数情况,一般都会遇到配置太慢、卡死、solving environment failed、PackageNotFound、以及pip爆出的一堆红字

问题1:包找不到,且大部分都带有包的唯一标识符(例如hf484d3e_0、h1ccaba5_0)

 

分类讨论一下,如果只有少量的包,或许可以通过删除yaml文件中的唯一标识符限制来完成环境配置,yaml文件改动如下所示:

 

但是如果有很多包(带唯一标识符的)都找不到,就很有可能是系统环境不对导致的

例如尝试在windows10环境下配置linux中特有的一些包

当然这样也会导致一些其他包出现问题:

 

这个时候就需要敏锐一点,发现最后一个包的包名为ld_impl_linux-64,就可以反应过来配置的系统不对了。果断更换系统。

问题2:等待时间太长

建议加入一些快速的源(在conda中称为channel),比如清华源或者阿里源,如果有校内或者工作的内网源更好,确认网络连接正常。

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ 使用conda config --show channels

 

删除源使用conda config --remove channels 源名,

一般情况下,网络正常,配置时间不会太久

问题3:pytorch安装找不到匹配的版本号

 

ERROR: No matching distribution found for torch==1.12.1+cu102

这种情况其实是比较常见的,因为pytorch老版本中支持CUDA的版本是需要单独配置的

Previous PyTorch Versions | PyTorch

 

可以在官网上找到你需要的pytorch,然后在已经激活的conda环境中使用pip直接安装

例如这样:(很好的一点就是pytorch官网上可以找到所有的对应版本信息)

pip install torch==1.12.1+cu102 torchvision==0.13.1+cu102 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu102 建议不要使用conda install的命令,因为它基本上不会安装GPU版本的pytorch

下图为使用conda install的安装结果:(其实这个packageplan就可以看出它安装的不是torch包而是pytorch包,很奇怪)

 

 

关于pytorch cuda版本的选择问题,先试用一下nvidia-smi命令查看自己是否安装CUDA

 

只要这里显示的CUDA版本号大于安装的pytorch版本号就可以了

例如torch==1.12.1+cu102的CUDA版本为10.2,当前系统的CUDA版本为11.4,说明可以直接安装这个版本的pytorch

问题4:下载包到一半突然一大片红ERROR,一般包含time out字样

socket.timeout: The read operation timed out或者ReadTimeoutError: HTTPSConnectionPool(host='download.pytorch.org', port=443): Read timed out.

这个主要是网络波动导致的,也有可能是远端的服务器网络出现问题,也有可能是自己的源没配好,访问不稳定。总之是网络上的问题。

重新尝试命令即可,对于已经下载好的包,pip会读取自己的缓存cache,不会让你重复下载的。

问题5:安装某个包的时候,它自动把已经装好的pytorch删掉了,重新安装了另一个版本

这种情况一般为安装一些高级的深度学习库会遇到,例如DGL、allennlp等等

在yaml的pip列表中可以先扫一眼,看看有没有这种包,如果有就留到最后单独安装,在官网上查询对应的pytorch版本来判断应该这么安装。

如果不知道是不是这种有依赖关系的深度学习库时,可以先装pytorch,再装其他库,如果发现在下载新的pytorch版本就立刻终止,早发现早治疗。

 

如果最后单独安装的时候仍然pytorch版本不对,说明可能源代码根本就没用这个库,也可以在官网上选择一个高相邻版本的库进行安装,一般都可以正常运行。

如果不想使用conda install来配置整个环境,可以使用以下命令(在conda的目标环境下)

pip install -r requirements.txt 在包比较少的情况下也可以用pip install手动硬装

但记住安装完成之后需要执行一下pip check命令,看一下是不是所有的包的依赖关系都正确了

另外给出一个实用的pip和conda小技巧

pip cache purge

conda clean --all

可以清除pip管理器和conda管理器中的缓存,避免一些大型包下载的一半中断导致系统内存被占的问题,例如tensorflow和pytorch。

标签:配置,环境,environment,pytorch,conda,版本,pip,安装,yml
From: https://www.cnblogs.com/arwen-xu/p/18543924

相关文章

  • H3C交换机ACL配置
    不知道大家有没有这样的需求,就是我们的dmz区域,可以使用防火墙和其他区域隔离,但实际使用过程中,防火墙策略配置起来还是比较繁琐,具体就是策略数目太多,一眼看上去不清晰。那么在交换机上面是不是可以实现可视感观比较好的功能呢?交换机通过acl也就是包过滤去实现创建aclnumber300......
  • kafka(启动集群,使用spring方法,自定义配置)
    ApacheKafka是一个开源的分布式流处理平台,最初由LinkedIn开发,后来成为Apache项目。Kafka主要用于高吞吐量、低延迟的实时数据流处理,常用于日志收集、实时分析、消息传递等场景。以下是关于Kafka的详细讲解:一、理论知识1.Kafka的基本概念Kafka是一个分布式的......
  • 华为路由器/交换机配置Console口AAA认证以及Telnet登录
    一、Console口登录 Console口是路由器/交换机的本地管理接口,通常用于设备初始配置和管理。本文将介绍console登录的两种配置方式1、密码模式配置成这种模式后Console登录只需要输入密码。配置方法一[Huawei]user-interfaceconsole0 [Huawei-ui-console0]authentica......
  • 在vite中配置并使用环境变量
    1、配置环境变量,注意要以“VITE“开头(1)在.env.development中配置环境变量VITE_APP_ENV=development2、在vue文件中使用<scriptsetuplang="ts">console.log('环境:',import.meta.env)</script>打印得结果:{"BASE_URL":"/",......
  • IRF堆叠基本配置
    IRF(堆叠配置)IRF(IntelligentResilientFramework,智能弹性架构)是H3C自主研发的软件虚拟化堆叠技术。它的核心思想是将多台设备通过IRF物理端口连接在一起,进行必要的配置后,虚拟化成一台“分布式设备”。使用这种虚拟化技术可以实现多台设备的协同工作、统一管理和不间断维护......
  • PyCharm连接远程服务器及配置解释器(配图手把手教)
    一、连接远程服务器1.找到配置点击Tools→Deployment→Configuration由于在社区版的PyCharm中没有找到Configuration,所以这里使用的是专业版2.新增一个SFTP的连接3.命名这里命名为ubuntu4.设置SSH连接Host:服务器的地址(虚拟机中输入ifconfig可以查看)Port: 22User......
  • 【VMware VCF】通过备份的配置文件还原 SDDC Manager 组件。
    之前在这篇文章(使用SFTP服务器备份VCF核心组件的配置文件。)中配置并备份了VCF环境中SDDCManager组件的配置文件,这篇文章接着这个主题,看看当SDDCManager组件因意外发生故障时,如何通过备份的配置文件进行还原和恢复。 一、检查SDDCManager执行还原之前,请确保SD......
  • MySQL 5.7.19 解压版安装配置详细教程
    MySQL5.7.19解压版安装配置详细教程1.软件下载首先,从MySQL官方网站下载MySQL5.7.19的解压版安装文件:下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-winx64.zip2.特别说明如果你之前安装过MySQL,并且出现了错误或者想要重新安装,可以使用以......
  • 打包配置
    pom文件添加插件配置<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>......
  • 【划重点】一文搞懂Webpack环境区分配置(12)
    在实际开发中,我们经常需要针对生产环境和开发环境分别书写webpack配置。为了更好地适应这种需求,webpack允许配置不仅可以是一个对象,还可以是一个函数。这样,开发者可以根据不同的环境返回不同的配置对象。1.使用函数作为配置module.exports=env=>{return{......