亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何進行安裝第三方庫

發布時間:2020-10-27 22:11:34 來源:億速云 閱讀:355 作者:Leah 欄目:開發技術

Python如何進行安裝第三方庫?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

常用的python第三方庫安裝工具大概有三種:

1、pip (推薦)
2、easy_install
3、setup.py

常見的安裝包格式:

1、whl (推薦,一種二進制的)
2、tar.gz
3、zip
4、egg(第一個主流打包格式)
whl和egg文件可以直接將后綴名改為zip,作為zip解壓,但在有網的模式下,whl不必解壓,用pip的安裝命令即可

setup.py

setup.py常用于源碼安裝,由于pypi官網下載包非常慢,因此有人會選擇下載后安裝,也有人會去GitHub上下載源碼來安裝,setup.py常被用與后者。

一般GitHub上的源碼大多為zip、tar.gz、tar.zip、 tar.bz2這類壓縮文件,而它們往往自帶setup.py文件。

安裝:

1、下載zip并解壓;
2、打開cmd,進入解壓后的路徑;
3、依次執行以下代碼

命令如下:

python setup.py build
python setup.py install

Windows的安裝包存放的路徑為:python安裝路徑下的\Lib\site-packages。

Linux的路徑應該為: /usr/lib/python2.7/site-packages。 (路徑不一定,視情況而定,有的可能在/usr/local/lib)

缺點:

但是這種安裝方法有一種非常大的毛病,就是使用該方法安裝的包,無法通過pip uninstall卸載干凈。

需要手動到/usr/bin/python2.7/site-package(其中python處為對應的Python版本)目錄下刪除。對于類UNIX系統來說,64位機更麻煩的是,在/usr目錄下分為lib和lib64,這兩個目錄下都會有。

網上有卸載方法,但我試過不太奏效:

卸載

記錄安裝后文件的路徑
python setup.py install --record files.txt

刪除這些文件 
cat files.txt | xargs rm -rf 

一般情況下其實不建議使用這種,pip其實也是可以直接安裝壓縮包的,后面會講。

easy_install

實際上,在Python中安裝第三方模塊,是通過setuptools這個工具完成的。而easy_install和pip是封裝了setuptools的兩個包管理工具。

我們要使用easy_install,首先需要setuptools,當然,現在的版本里都自帶了,python3.6以后的略微有點不一樣,后面會講。

但是還是可以提一下:

1、打開官網 http://pypi.python.org/pypi/setuptools ,目前最新版的只有whl和zip兩種格式(以前是有exe的,現在似乎沒有了,但我感覺現在更方便一點)。

但是whl前提是要用pip安裝,而pip有的時候,我們可能需要使用easy_install才能安裝,有pip我們也不怎么用easy_install了,所以我們只能下載zip。

2、下載后解壓,會發現里面有easy_install.py和setup.py,可以直接使用。
如果是exe,安裝后雙擊 ez_setup.py安裝,或在cmd執行命令:

python easy_install.py

安裝好easy_install之后就可以用來安裝包了,但是建議將easy_install所在路徑加入環境變量PATH,否則每次安裝包都需要先進入該路徑。

Windows的easy_install路徑為:Python下的Scripts目錄
Linux的路徑應該為: /usr/local/bin。 (路徑不一定,視情況而定)

easy_install的使用方法,如安裝pip,直接在后面加上包名即可:

# 指定包名
 easy_install pip
 
 # 指定網址
 easy_install -f *.html pip
 
 # 安裝tar/egg
 easy_install package.tar/egg
 
 # 安裝zip,先解壓,然后進入
 easy_install .

卸載

easy_install -m pip

升級

easy_install --upgrade pip

使用

# 安裝
pip install package

# 卸載
pip uninstall package

# 查看所安裝的包
pip list

# 搜索包
pip search package

# 更新
pip install -U package

# 重定向輸出項目使用的庫到 requirements.txt文件內
pip freeze > requirements.txt

#在其他環境上安裝項目的依賴
pip install -r requirements.txt

安裝tar.gz和zip使用pip是最簡單的,不需要解壓,前兩種還需要解壓。

批量安裝

有的時候你會發現在沒有網絡的時候,你想要安裝wheel文件,直接pip會出錯,這里有一種辦法,并且可以批量,就是利用requirements.txt文件。但是,這之前我們還要知道,我們之所以安裝wheel文件會失敗,是因為本機的python不支持下載的whl文件。

1、我們將所有包下好,包括whl、tar.gz等。
2、然后將包的版本寫入requirements.txt,并將它們放在一起。
3、可以直接執行命令,也可以將該命令寫入腳本。

命令如下:

pip install --use-wheel --no-index --find-links=./ -r requirements.txt

批量卸載

pip uninstall -y -r requirements.txt

其中-y代表卸載時不詢問是否刪除,即yes的意思,可以省略,但在腳本里的時候還是加上。

wheel

1、wheel 包的命名格式

{distribution}-{version}(-{build tag})?-{python tag}-{abi tag}-{platform tag}.whl

前兩個分別代表包名和版本,前面查看wheel版本輸出的三元素元組分別代表{python tag}-{abi tag}-{platform tag}。

python-tag —— python實現,主要分為五種:

  • py - 無實現特定的拓展
  • cp - CPython,也就是通常使用的 Python 實現
  • ip - IronPython,跑在 Windows CLI 平臺上的 Python 實現
  • pp - PyPy,帶 JIT 的 Python 實現
  • jy - Jython,跑在 JVM 上的 Python 實現

如request的whl名字里的py2和py3分別代表支持py2.x和py3.x,兩個同時存在則代表兩個版本都支持,以“.”分隔。

abi tag

說實話,我沒太看懂這是個什么東西,只大概知道分為以下幾種:

  1. with-pydebug (flag: d ) ——看起來像是用于debug的
  2. with-pymalloc (flag: m ) —— 一個專門的對象分配器
  3. with-wide-unicode (flag: u ) —— 默認開啟的
  4. none —— 不區分

如果打包時沒辦法判斷 abi 類型,生成的 abi tag 會是 none。而如果 Python 包是不依賴特定的 abi 的純 Python 實現,生成的 abi tag 也是 none。

大部分我們下載的的是類似mu結尾的,如cp27mu。

platform tag —— 系統

  • win32 —— Windows32位
  • win_amd64 —— Windows64位
  • linux_i386 —— Linux32位
  • linux_x86_64 —— Linux64位
  • any —— 任意

當然,遠不止這些,我曾經裝過grpcio這個庫,在官網里找到它發現五花八門,當時不知道要下哪一個,后來才找到那個查看版本的命令。

Python如何進行安裝第三方庫

可以看到,就截圖內的就有涉及到大概八種不同的系統及版本,根據命令查看whl版本,發現支持manylinux1_x86_84版本,原因是我當時用的是centos7,并且安裝的時候是安裝的最小(Mini)的形式,因此我下了manylinux1_x86_84的其中一個。

2、python環境支持哪種wheel文件

pip10以下的版本查看:

>>> import pip
>>> print(pip.pep425tags.get_supported())

pip10以上的版本查看:

>>> import pip._internal; 
>>> print(pip._internal.pep425tags.get_supported())

可以看到如圖:

Python如何進行安裝第三方庫

可以看到,這是一個由多組元組組成的列表,這里面的三個東西有沒有感覺很眼熟,我們再看wheel文件的名稱組成,例如requests:

requests-2.22.0-py2.py3-none-any.whl 

再如

grpcio-1.21.1-cp27-cp27m-manylinux1_x86_64.whl

當然,后者在Windows上的Python里執行是不可能看到的。

下載源

國內pypi官網下載源有時候會比較慢,我們可以指定源

pip install package -i http://pypi.douban.com/simple --trusted-host pypi.douban.compipy

python3.6前后的版本pip安裝方式的不同

Python3.6和之前的版本(包括2.x和3.6之前的3.x)有一個很大的區別,安裝完之后Scripts目錄為空,當我們想執行更新pip時出錯:

python -m pip install -U setuptools

報錯:

No module named pip

解決辦法:

python -m ensurepip 

離線安裝前查看某個指定的包的所有依賴項

我們有的時候開發環境分內外網,但是又不得不安裝一些第三方庫,需要去外網下載好wheel拷到內網,而這些第三方庫往往依賴于其他包。如果你在內網試,每次一個沒有又要去外網重新下了拷進來,不勝其煩。

而conda有一個非常棒的功能,就是可以查看某個python版本的某個庫的所有依賴項及其對應的版本,如下,指定查看3.5的某個包的所有依賴,較老版本的命令是這樣的:

conda info package_name python=3.5

新版本的命令(可離線查看),沒研究出來怎么指定python版本:

conda search package_name --info [--offline]

其實pip也有,但只能顯示相關依賴包,但不能顯示具體對應的版本:

conda search package_name --info [--offline]

可查看:https://cloud.tencent.com/developer/ask/145565

conda

我16年接觸python的時候,學爬蟲被安裝第三方庫折騰的差點放棄,尤其是Scrapy框架,后來一陣摸索好不容易發現了Anaconda這么個好東西。

Anaconda是個集成環境,里面有大量的常用第三方庫以及科學計算相關的包,感覺起來裝任何包都很輕易,沒有再為包的事情煩心過,里面的命令是conda,和pip類似,但不僅pip,還有虛擬環境的作用。命令也類似,只要把pip替換為conda即可,但也可以使用pip命令。

如果想將py2和py3的Anaconda裝在一起,只要把其中一個安裝在另一個已經裝好的envs路徑下即可。

conda具體命令查看:
https://conda.io/projects/conda/en/latest/commands.html#

virtualenv

對于安裝包,如果覺得怎么都安裝不上,使用虛擬環境也是個很不錯的選擇,

# 安裝(python2)
pip install virtualenv

# 創建虛擬環境,需要預先創建一個目錄
virtualenv venv_name

# Windows激活虛擬環境
#1、進入虛擬環境所在目錄下的Scripts目錄
cd venv_name/Scripts

# 2、激活
activate

# 3、退出,linux同
deactivate

# linux進入并激活虛擬環境目錄
source venv_name/bin/activate

看完上述內容,你們掌握Python如何進行安裝第三方庫的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

普安县| 鹤庆县| 遂平县| 类乌齐县| 十堰市| 马山县| 井研县| 吴桥县| 怀仁县| 自贡市| 清流县| 堆龙德庆县| 松阳县| 平塘县| 通州区| 田东县| 集贤县| 冷水江市| 鹰潭市| 全椒县| 盐城市| 井陉县| 麦盖提县| 平潭县| 伊金霍洛旗| 沈阳市| 错那县| 五指山市| 安图县| 齐河县| 德格县| 昌黎县| 宁安市| 大名县| 鄢陵县| 东乌珠穆沁旗| 望城县| 尖扎县| 阜康市| 阳山县| 新沂市|