使用conda打包環(huán)境并離線安裝的踩坑及解決
最近工作遇到在沒有網(wǎng)絡的情況下建虛擬環(huán)境,首先是可以先下載所有包(.whl文件),在離線情況下安裝,但是適合單個包,整個環(huán)境不建議,因為會有大量依賴包,少一個都不行。
虛擬環(huán)境打包工具
1.win+R并輸入cmd

2.pip安裝conda-pack
pip install conda-pack
安裝成功后,開始對虛擬環(huán)境打包
虛擬環(huán)境打包
1.激活需要打包的環(huán)境
activate <env_name> 或者 conda activate <env_name>

2.檢查環(huán)境安裝的包
#用于查看conda安裝的所有包 conda list #用戶查看pip安裝的所有包 pip list
通常安裝的包既有conda的也有pip的(比如你安裝用的conda,但是更新用的pip),使用是沒有問題的,但是打包會出現(xiàn)問題,因為有的包既在pip里也在conda里,打包時會報錯,如下:
_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).
唯一的解決辦法是只用conda安裝或者pip安裝,由于一些包conda沒有,所以最好是用pip安裝所有包。
下面我將介紹如何從頭開始建虛擬環(huán)境和安裝包。
3.離線創(chuàng)建虛擬環(huán)境
如果你的conda和pip都有安裝包,那么你可以重建一個環(huán)境并只用pip安裝。
首先,離線創(chuàng)建一個空的虛擬環(huán)境,不要加python版本,因為會直接使用conda安裝。
conda create -n env_name --offline
–offline是離線創(chuàng)建的意思,不會安裝任何包。

激活環(huán)境后,查看安裝的包:

可以看到conda list是空的,我們繼續(xù)用pip安裝,現(xiàn)在安裝的包里沒有python,接下來我們安裝python。
4.安裝python和其他包
https://www.python.org/downloads/
在這里下載對應版本的python,需要.exe格式的
這里需要注意的是路徑配置

找到你的conda/envs這個是存放你的虛擬環(huán)境的位置,圖上的dd是環(huán)境名字,改成你自己創(chuàng)建的環(huán)境名字就行,比如上面創(chuàng)建的zz,我只做演示沒有修改。
安裝成功后,pip也會更新為最新的。你可以通過conda list查看是否為空。如果是,說明沒有 任何問題,剩下你所用的包,全部用pip進行安裝。
5.虛擬環(huán)境打包
接下來我們就可以打包了,輸出的是一個tar.gz格式文件
conda pack -n <虛擬環(huán)境名字> -o 文件輸出的地址
-o是可選項。
在新的機器上,找到conda/envs文件夾,將壓縮放在這個文件夾里,并解壓,就ok了,你可以通過激活該環(huán)境查看是否成功。
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python與Appium實現(xiàn)手機APP自動化測試的示例代碼
本文主要介紹了Python與Appium實現(xiàn)手機APP自動化測試的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02
已解決不小心卸載pip后怎么處理(重新安裝pip的兩種方式)
這篇文章主要介紹了已解決不小心卸載pip后怎么處理(重新安裝pip的兩種方式),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04
Python使用Paramiko庫進行SSH遠程連接與文件傳輸
在網(wǎng)絡管理和系統(tǒng)運維中,SSH是一種廣泛用于遠程登錄和文件傳輸?shù)膮f(xié)議,Python中的Paramiko庫為開發(fā)者提供了靈活、強大的SSH客戶端和服務器功能,本文將深入探討Paramiko庫的使用,需要的朋友可以參考下2026-01-01
python文件生成exe之在pycharm使用pyinstaller指令方式
在PyCharm中使用PyInstaller打包Python文件成可執(zhí)行文件(.exe)的步驟,首先,在PyCharm中安裝PyInstaller插件,然后打開項目的設置,添加PyInstaller插件,接著,在終端中導航到Python文件所在目錄,使用pip安裝PyInstaller,最后使用命令行生成可執(zhí)行文件2026-03-03
Python?pygame項目實戰(zhàn)英雄動畫特效實現(xiàn)
這篇文章主要為大家介紹了Python?pygame項目實戰(zhàn)英雄動畫特效實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08

