务必注意:基于【requirements.txt】文件中的全部库【可能某些库的版本依赖不一样】而导致无法安装成功,最好的方式就是把哪些【 需要更低版本依赖的库】先拿出来,等待文件安装成功之后,再单独安装即可【当单独使用 pip install 包名称】时,会自动匹配对应的版本【比如卸载新版本,然后安装匹配的旧版本依赖】

 

【重磅推荐】pip命令如何从txt文件批量安装包【兼容不同操作系统下的conda快速迁移环境】https://blog.csdn.net/weixin_43343144/article/details/117413978

 

以python3.7升级到3.8的版本为例【版本降级原理是一样的】:

 

特别注意:更换为windows环境可能报错:【window执行conda 导入环境提示错误:Microsoft Visual C++ 14.0 is required解决方法】https://blog.csdn.net/weixin_43343144/article/details/107242018

 

第一种方法:重点推荐方法【参考:pip文件的导出和安装。https://www.cnblogs.com/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

 

更多推荐