赞
踩
conda activate py35
conda env export > environment.yml
这一步略,结果如下:
注意这里我犯了一个错误,当原服务器上的py35这个虚拟环境进行了打包,移植到新的服务器时,不应该事先建立一个和environment.yml同名的虚拟环境(即py35),这样做的话,会导致报错,为了解决错误,只需要将事先新建的虚拟环境删除了即可
将旧服务器下的虚拟环境py35中的包移植到新服务器,并创建虚拟环境py35,并安装对应版本的包。在base环境中,输入命令:
conda env create -f environment.yml
即自动将开始配置出原环境。(有一部分环境还是没有成功配置
)
conda导出已有环境: conda env export > environment.yaml,环境会被保存在 environment.yaml文件中。当我们想再次创建该环境,或根据别人提供的.yaml文件复现环境时,可以:conda env create -f environment.yaml就可以复现安装环境。
移植过来的环境只是安装了你原来环境里用conda install等命令直接安装的包,你用pip之类装的东西没有移植过来,需要你重新安装。
pip导出安装的库到requirements.txt:pip freeze > requirements.txt。pip导入requirements.txt中列出的库到系统pip install -r requirements.txt
链接:https://www.jianshu.com/p/b86c17057da8
environment.yml文件本是为了使conda环境可以方便地迁移到不同的电脑,但实际上使用这个文件操作起来并不是那么令人顺心,在重现环境的时候会遇到多多少少的问题。
3.1是自己遇到的问题,3.2是网上找到的示例,所以包名不对应
只需要修改*.yml文件
,找到其中的dependencies:
项,将报错(ResolvePackageNotFound)中显示的包名从dependencies:
项剪切到- pip:
项即可
将报错的代码注释掉,在后面添加pip,用pip安装:
conda中的软件包解析,即warning: 10 possible package resolutions (only showing differing packages),这是因为Anaconda换源之后,更新(安装)
的时候报错了,从错误里可以看出这10行就涉及了4个包,按照排列组合有A44即24种组合,这里报出警告是因为有10种可能的组合。虽然是警告,但是使用conda list
查看安装好的包的时候,发现已经安装上了,且版本一致
;可以使用conda update --strict-channel-priority --all
,将强制更新
所有警告包。
这是因为pip已经放弃对python2.7的支持了,所以会报错CondaEnvException: Pip failed
,当查看安装好的包时,发现安装的版本也不一致(推测是因为依赖安装)
参考:https://blog.csdn.net/djfjkj52/article/details/106191828
参考1:https://blog.csdn.net/baidu_41703242/article/details/92387155
参考2:https://blog.csdn.net/weixin_42456051/article/details/103344209
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。