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