[英]How to back up anaconda environment in Windows 10?
最近,由於某些錯誤的 conda 包升級,我的 anaconda 環境被破壞了。 由於這個經驗,我想備份我的 anaconda 環境,以便將來輕松恢復。
我所做的備份是將整個文件夾壓縮到C:\ProgramData\Anaconda3
。 這是正確的方法嗎?
我正在使用 Windows 10,anaconda python v3.6 64 位。
出於備份目的壓縮conda
環境並沒有真正意義,因為還有其他方法可以做到這一點,這可能更合適,並使用專為執行此操作而設計的內置功能。
您可以創建conda
環境的.txt
版本,詳細說明其中的每個模塊和版本,然后可用於在將來重新創建EXACT環境。
# Create list of the environment
conda list --explicit environment_backup.txt
# Use the newly created text file to recreate the environment
conda create --name my_env_name --file environment_backup.txt
有關管理conda
環境的更多信息,請參閱文檔。
注意另外一點,conda 環境目錄可能相當大(通常 >1GB),而此處創建的txt
文件約為 25KB,這在歸檔某些內容以確保安全時提供了明顯的優勢。
正如anaconda 網站分享的那樣,您可以通過多種方式實現這一目標。 但是,如果您的互聯網訪問受限或無法訪問,建議使用名為“conda-pack”的工具(不幸的是,目前使用相同的操作系統)。
按照以下步驟操作:
conda install -c conda-forge conda-pack
然后在你的源機器上:
# Pack environment my_env into my_env.tar.gz
$ conda pack -n my_env
# Pack environment my_env into out_name.tar.gz
$ conda pack -n my_env -o out_name.tar.gz
# Pack environment located at an explicit path into my_env.tar.gz
$ conda pack -p /explicit/path/to/my_env
最后,在你的目標機器上:
# Unpack environment into directory `my_env`
$ mkdir -p my_env
$ tar -xzf my_env.tar.gz -C my_env
# Use python without activating or fixing the prefixes. Most python
# libraries will work fine, but things that require prefix cleanups
# will fail.
$ ./my_env/bin/python
# Activate the environment. This adds `my_env/bin` to your path
$ source my_env/bin/activate
# Run python from in the environment
(my_env) $ python
# Cleanup prefixes from in the active environment.
# Note that this command can also be run without activating the environment
# as long as some version of python is already installed on the machine.
(my_env) $ conda-unpack
# At this point the environment is exactly as if you installed it here
# using conda directly. All scripts should work fine.
(my_env) $ ipython --version
# Deactivate the environment to remove it from your path
(my_env) $ source my_env/bin/deactivate
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.