anaconda离线环境迁移(舍弃繁文缛节-直接复制粘贴完成环境迁移)
摘要:
真正的解決方案,就是直接把envs下面的環境,直接復制一份到新環境的envs目錄下。
項目場景:
需要把python環境從一臺服務器上復制到另一個服務器上,但是服務器不能聯網。
找找資料
http://t.csdn.cn/FD6S4http://t.csdn.cn/FD6S4
發現問題
在按上述資料操作的過程中,遇到了文章里提到過的一個問題:也就是
問題描述:在打包導出環境時出現_CondaPackError錯誤
正常情況下采用上述方法可以實現環境的導出及遷移,但當在第二步安裝所需要的包的時候,由于其他包的需要,可能會更新由Anaconda安裝的包,主要是pip、setuptools、wheel等幾個包,導致在使用conda pack進行環境導出時出現_CondaPackError錯誤,具體如下
_CondaPackError:?
Files managed by conda were found to have been deleted/overwritten in the
following packages:
?
- pip='9.0.1'
?
This is usually due to `pip` uninstalling or clobbering conda managed files,
resulting in an inconsistent environment. Please check your environment for
conda/pip conflicts using `conda list`, and fix the environment by ensuring
only one version of each package is installed (conda preferred).
————————————————
版權聲明:本文為CSDN博主「FY_2018」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/FY_2018/article/details/119710831
原因分析
引用文章中,作者也有寫,這里簡單復述下。也就是被遷移的環境里,pip安裝的包和conda安裝的包版本沖突了。需要進行統一。進而要么把所有的包都用pip裝一遍,要么用conda裝一遍。這也就是繁文縟節的原因了。(我就想遷移一個庫,我還得重新裝一個庫……況且現在這個庫能用,重裝了之后可能還不能用了)
解決方案(破除繁文縟節)
思路來源:我想著,原文章思路,也就是把原環境用conda pack 打包,然后復制壓縮包,直接在新環境的envs下面解壓。既然現在conda pack不行,那我為什么不直接手動打包呢,反正都是解壓。
于是乎,真正的解決方案,就是直接把envs下面的環境,直接復制一份到新環境的envs目錄下。親測有效!
可能存在的問題:
Q1: envs目錄在哪里?
A1: 在anaconda安裝根目錄里。
Q2: 如果envs目錄下面沒有環境怎么辦?
A2: 那就用anaconda直接建立一個虛擬環境,復制你的base環境,envs目錄下面就有環境了。
總結
以上是生活随笔為你收集整理的anaconda离线环境迁移(舍弃繁文缛节-直接复制粘贴完成环境迁移)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019年12月9日
- 下一篇: 2016年秋-网络程序设计 学习总结