Python離線(xiàn)安裝包教程分享
Python離線(xiàn)安裝包
下載pip包
pip download 你要下載的包名 -d 下載的路徑 # example 結(jié)果會(huì)下載很多whl包 pip download httpie -d .

pip離線(xiàn)安裝
pip install 包名 # 各種whl 默認(rèn)要安裝的最后一個(gè)安裝 # 或者 pip download -d \home\packs -r requirement.txt
注意:
務(wù)器環(huán)境一般都為linux 環(huán)境,所以我們下載所需包的時(shí)候最好使用自己的虛擬機(jī)或其他相同的環(huán)境來(lái)進(jìn)行下載。
第一步也可以pip freeze --all > requirements.txt 。在項(xiàng)目目錄下新建一個(gè)whls文件夾(用來(lái)存儲(chǔ)我們依賴(lài)包)然后在虛擬環(huán)境cmd命令下切換到whls目錄
執(zhí)行 pip freeze --all > requirements.txt 命 令 將安裝包版本信息導(dǎo)入到requireents.txt文件中(該文件位置在執(zhí)行cmd命令當(dāng)前目錄下,也就是whls下); 注意–all參數(shù),加上此參數(shù)會(huì)將setuptools、urllib3包進(jìn)行打包;如果不加,這兩個(gè)不會(huì)打包
離線(xiàn)批量安裝python包
隨著網(wǎng)絡(luò)安全越來(lái)越受重視,很多企業(yè)的開(kāi)發(fā)、測(cè)試和生產(chǎn)環(huán)境都已經(jīng)跟互聯(lián)網(wǎng)隔離,這就導(dǎo)致python無(wú)法在內(nèi)網(wǎng)直接使用pip安裝第三方包,離線(xiàn)安裝成為必備技能。
1 python包常見(jiàn)安裝方法
1.1 直接從python源下載,然后手動(dòng)安裝
適合場(chǎng)景:
- 適合臨時(shí)安裝一兩個(gè)包的場(chǎng)景。
優(yōu)缺點(diǎn):
- 效率低,經(jīng)常會(huì)遇到需要外部依賴(lài)包的情況。
1.2 使用 pip 根據(jù)requirements文件下載安裝包,到離線(xiàn)環(huán)境中安裝
適合場(chǎng)景:
- 需要批量安裝第三方包,軟件部署有明確的requirements文件的場(chǎng)景。
優(yōu)缺點(diǎn):
- 可以批量下載和安裝,一次性解決一臺(tái)服務(wù)器上安裝多個(gè)包的問(wèn)題。
2 Python包分類(lèi)和安裝
Python包按照安裝包的方式可以分為:wheel包、源碼包(zip或tar.gz)、egg包。其中,wheel包和源碼包比較常見(jiàn),egg已經(jīng)很少了。
2.1 安裝wheel包
wheel包的命名格式為:{distribution}-{version}(-{build tag})?-{python tag}-{abi tag}-{platform tag}.whl。
名稱(chēng) | 對(duì)應(yīng)名稱(chēng) | 解釋 |
distribution | mysql_connector | 包名 |
version | 2.1.6 | 版本 |
bulid tag | 備注標(biāo)簽 | 可省略 |
python-tag | cp36 | 表示 cpython 3.6 版本 |
abi-tag | cp36m | abi Application Binary Interface應(yīng)用程序二進(jìn)制接口 |
platform | win_amd64 | platform 還可以是 anywin32 , linux_i386 , linux_x86_64, any 表示 跨平臺(tái) |
到達(dá)路徑后根據(jù)不同文件后綴,操作如下:
pip install **.whl
例如:
pip install JPype1_py3-0.5.5.2-cp35-none-win_amd64.whl
2.2 安裝源碼包(zip或tar.gz)
下載模塊包到安裝地址(壓縮文件zip或tar.gz),進(jìn)行解壓,到達(dá)指定位置進(jìn)入模塊文件夾,執(zhí)行python setup.py install
例如:
- 下載 uwsgi 源碼包
- 解壓 tar -zxvf uwsgi.tar.gz
- 進(jìn)入目錄 cd uwsgi
- 使用python 安裝 python3 setup.py install
2.3 安裝egg包
先下載ez_setup.py,運(yùn)行python ez_setup 進(jìn)行easy_install工具的安裝,之后就可以使用easy_install進(jìn)行安裝package
easy_install packageName easy_install package.egg
3 批量離線(xiàn)安裝包
3.1 制作requirement.txt,導(dǎo)出項(xiàng)目中所有依賴(lài)包
比如下載 django 1.8.11版本的包,requirements.txt的內(nèi)容就是:
django==1.8.11
使用 pip freeze 會(huì)輸出所有在本地已安裝的包(但不包括 pip、wheel、setuptools 等自帶包),若需要輸出內(nèi)容與 pip list 一致,需使用 pip freeze -all。
使用方法:
pip freeze > requirements.txt
適用場(chǎng)合:
由于 pip freeze 與 pip list 內(nèi)容區(qū)別不大,所以,若想要用其作為工程依賴(lài)包列表,需要配合 Python 虛擬環(huán)境 virtualenv 使用。
3.2 將所有包下載到目標(biāo)目錄中
例如:想將包放在\home\packs目錄下
pip download -d \home\packs -r requirement.txt
3.3 將文件打包后放到離線(xiàn)服務(wù)器上,并進(jìn)行解壓縮
pip install --no-index --find-links=\home\packs -r requirements.txt
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Python?通過(guò)colorama?設(shè)置控制臺(tái)、命令行輸出彩色文字
- 使用Python中的Argparse實(shí)現(xiàn)將列表作為命令行參數(shù)傳遞
- python命令行執(zhí)行腳本找不到模塊ModuleNotFoundError問(wèn)題
- 怎樣用cmd命令行運(yùn)行Python文件
- Python無(wú)法安裝包的一種解決(Requirement already satisfied問(wèn)題)
- Python3.8.2安裝包及安裝教程圖文詳解(附安裝包)
- python pip安裝包出現(xiàn):Failed building wheel for xxx錯(cuò)誤的解決
- win10下Python3.6安裝、配置以及pip安裝包教程
- python命令行安裝包詳解
相關(guān)文章
python實(shí)現(xiàn)簡(jiǎn)易五子棋游戲(控制臺(tái)版)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)易五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
python中數(shù)據(jù)庫(kù)like模糊查詢(xún)方式
這篇文章主要介紹了python中數(shù)據(jù)庫(kù)like模糊查詢(xún)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03
Pandas:Series和DataFrame刪除指定軸上數(shù)據(jù)的方法
今天小編就為大家分享一篇Pandas:Series和DataFrame刪除指定軸上數(shù)據(jù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
Python學(xué)習(xí)之裝飾器與類(lèi)的裝飾器詳解
這篇文章通過(guò)示例詳細(xì)為大家介紹了Python中的裝飾器以及類(lèi)的裝飾器。通過(guò)學(xué)習(xí)裝飾器可以讓我們更好更靈活的使用函數(shù),還可以讓我們的代碼更加優(yōu)雅,感興趣的可以學(xué)習(xí)一下2022-03-03
python基于FTP實(shí)現(xiàn)文件傳輸相關(guān)功能代碼實(shí)例
這篇文章主要介紹了python基于FTP實(shí)現(xiàn)文件傳輸相關(guān)功能代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
詳解django使用include無(wú)法跳轉(zhuǎn)的解決方法
這篇文章主要介紹了詳解django使用include無(wú)法跳轉(zhuǎn)的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03

