Conda虛擬環(huán)境的復制和遷移的四種方法實現(xiàn)
在本機復制Conda虛擬環(huán)境
conda create --name 新環(huán)境名 --clone 舊環(huán)境名
相同操作系統(tǒng)之間復制環(huán)境
方法一:requirements.txt
這個方法不推薦,因為只會導出你使用pip安裝的依賴包,不會導出虛擬環(huán)境所依賴的包,并不適用于虛擬環(huán)境的遷移的應用場景。
事實上,此方法比較適用于,已經(jīng)明確知道依賴哪些包,我們只需要package信息的情況,如寫項目文檔,告訴別人運行我這個系統(tǒng)必須安裝哪些依賴包。而忽略虛擬環(huán)境本身的依賴環(huán)境。
pip freeze > requirements.txt # 生成requirements.txt pip install -r requirements.txt # 從requirements.txt安裝依賴
方法二 : Environment.yml
跨平臺和操作系統(tǒng)共享項目環(huán)境也可以使用 -export 選項生成 environment.yml 文件來完成。規(guī)范列表和 environment.yml 文件之間的區(qū)別在于 environment.yml 文件不是特定于操作系統(tǒng)的,而是使用 YAML 格式化的。只列出包名,conda根據(jù)包名搭建環(huán)境。另一個區(qū)別是 -export 還包括使用 pip 安裝的包,而 spec 列表不包括。要導出 environment.yml 文件:
conda env export environment.yml
- 請注意,如果路徑中已有 environment.yml 文件,conda 將覆蓋該文件。創(chuàng)建環(huán)境:
conda env create -f environment.yml
方法三:Conda Pack
Conda-pack 是一個命令行工具,用于打包 conda 環(huán)境,其中包括環(huán)境中安裝的包的所有二進制文件。此法支持斷網(wǎng)環(huán)境下使用。Environment.yml 是從python依賴包各自的存儲庫中下載包來創(chuàng)建環(huán)境,缺點當然是網(wǎng)速慢、容易下載失敗等等。此法就沒有這個問題。
請記住,conda-pack 是特定于平臺和操作系統(tǒng)的,目標計算機必須具有與源計算機相同的平臺和操作系統(tǒng)。
要安裝 conda-pack,請確保您處于 root 或 base 環(huán)境中,以便它在子環(huán)境中可用。 Conda-pack 可在 conda-forge 或 PyPI 獲得。
conda-forge:
conda install -c conda-forge conda-pack
PyPI:
pip install conda-pack
打包環(huán)境:
# 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
復制環(huán)境到其他電腦上:
# 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
方法四:直接復制envs目錄下的虛擬環(huán)境文件夾
在斷網(wǎng)環(huán)境下,我們也可以直接從源電腦(以下統(tǒng)稱為src電腦)上直接將虛擬環(huán)境整個復制到目標電腦(以下統(tǒng)稱為target電腦)上。前提是target計算機必須具有與src計算機相同的平臺和操作系統(tǒng)。
1、target電腦上安裝相同版本的Anaconda。
2、從src電腦把envs文件夾中需要復制的虛擬環(huán)境文件夾復制到target電腦上,位置隨便放。
我們可以通過以下命令來查看src電腦上虛擬環(huán)境文件夾的存放路徑:
conda env list
已上圖為例,E:\ProgramData\Anaconda\envs\new_name 就是虛擬環(huán)境new_name的存儲路徑。我們將它直接復制到target電腦上即可。
3、在target電腦上,進入conda命令行,使用如下命令:
conda config --add envs_dirs %復制到target電腦上的envs路徑%
注意: 這里的路徑是目標虛擬環(huán)境文件夾的上級目錄!
舉個例子:
我將上圖中的new_name復制到了target電腦上,并重命名為:env_pybd。路徑為G:\anoconda_envs\env_pybd
那么我應該用conda執(zhí)行命令:
conda config --add envs_dirs G:\anoconda_envs\
運行成功后,會往 C:\user%當前用戶名%\.condarc 里面添加一條envs_dirs記錄,如下圖所示:
再運行
conda env list
就可以看到,我們已經(jīng)復制成功了:
到此這篇關于Conda虛擬環(huán)境的復制和遷移的方法實現(xiàn)的文章就介紹到這了,更多相關Conda虛擬環(huán)境復制和遷移內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
基于python神經(jīng)卷積網(wǎng)絡的人臉識別
這篇文章主要為大家詳細介紹了基于python神經(jīng)卷積網(wǎng)絡的人臉識別,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05python爬取代理IP并進行有效的IP測試實現(xiàn)
這篇文章主要介紹了python爬取代理IP并進行有效的IP測試實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10