务必注意:基于【requirements.txt】文件中的全部库【可能某些库的版本依赖不一样】而导致无法安装成功,最好的方式就是把哪些【 需要更低版本依赖的库】先拿出来,等待文件安装成功之后,再单独安装即可【当单独使用 pip install 包名称】时,会自动匹配对应的版本【比如卸载新版本,然后安装匹配的旧版本依赖】
【重磅推荐】pip命令如何从txt文件批量安装包【兼容不同操作系统下的conda快速迁移环境】:https://blog.csdn/weixin_43343144/article/details/117413978
以python3.7升级到3.8的版本为例【版本降级原理是一样的】:
特别注意:更换为windows环境可能报错:【window执行conda 导入环境提示错误:Microsoft Visual C++ 14.0 is required解决方法】https://blog.csdn/weixin_43343144/article/details/107242018
第一种方法:重点推荐方法【参考:pip文件的导出和安装。https://wwwblogs/ZXF6/p/12066232.html】
第一步:在进入当前的虚拟环境【py3.7的环境】使用pip导出全部包txt文件
pip freeze > all_package.txt
第二步:创建一个纯py38的目标版本环境
conda create -n py38 python=3.8
第三步:进入纯py38环境使用pip一件文件安装【就算某个包安装失败,单独安装之后可再次文件安装,已安装的会自动跳过】
conda activate py38
pip install -r all_package.txt
# pip install --help 查看-r命令的作用
第二种方法【原理类似于第一种,但一旦某个包安装失败就会中断】
第一步:首先创建一个纯净的目标python版本环境
conda create -n py38 python=3.8
第二步:进入py38的环境导出环境的最基本的安装依赖【conda activate py38】
conda activate py38
conda env export > py38.yaml
纯净的py38.yaml文件内容
name: py38
channels:
- defaults
dependencies:
- ca-certificates=2021.1.19=haa95532_0
- certifi=2020.12.5=py38haa95532_0
- openssl=1.1.1j=h2bbff1b_0
- pip=21.0.1=py38haa95532_0
- python=3.8.8=hdbf39b2_4
- setuptools=52.0.0=py38haa95532_0
- sqlite=3.33.0=h2a8f88b_0
- vc=14.2=h21ff451_1
- vs2015_runtime=14.27.29016=h5e58377_2
- wheel=0.36.2=pyhd3eb1b0_0
- wincertstore=0.2=py38_0
- zlib=1.2.11=h62dcd97_4
prefix: D:\anaconda3\envs\py38
第三步:把你之前py37版本中的依赖部分全部替换成最新py38的,然后再使用更新后的yaml文件创建py38的最新环境即可
特殊说明【非常重要】:基于Windows、linux、Mac不同的操作系统和不同的python版本对应的基本依赖包是不一样的,把这一块替换,pip的软件包安装完成后并全部升级最新即可!
最后一步:使用最新版的py38_new.yaml文件创建新的虚拟环境即可
conda env create -n py38_new -f py38_new.yaml