首頁 後端開發 Python教學 Python第三方函式庫的安裝方法

Python第三方函式庫的安裝方法

Mar 03, 2017 pm 03:04 PM

庫library是一個泛稱,一般值作為文件形式存在的模組以及以資料夾形式存在的包的合成,這裡作了Python第三方庫的安裝方法總結,包括源碼安裝、包管理器安裝以及虛擬環境相關安裝三種方式的講解

Python 是一門優雅的語言,簡潔的語法,強大的功能。當然豐富的第三方函式庫,更能加速開發。那麼問題來了,要如何安裝這些​​第三方函式庫(套件)呢?

安裝第三方函式庫的方式其實不多。下面就介紹一些技巧。

原始碼安裝
許多第三方函式庫都是開源的,幾乎都可以在github 或 pypi上找到原始碼。找到原始碼格式大概都是 zip 、 tar.zip、 tar.bz2格式的壓縮包。解壓縮這些包,進入解壓縮好的資料夾,通常會看見一個 setup.py 的檔案。打開命令列,進入該資料夾。執行

python setup.py install
登入後複製

這個指令,就能把這個第三函式庫安裝到系統裡,也就是你的Python 路徑,windows大概是在C:\Python2 .7\Lib\site-packages。
Linux會在 /usr/local/lib/python2.7/dist-packages。
Mac 應該在 /Library/Python/2.7/site-packages。如果是在 virtulenv環境下安裝,這個套件就被安裝在所建立的虛擬環境下的 site-packages/目錄下。想要卸載這些庫也很簡單,進入 site-packages,直接刪掉庫檔案就 OK 啦。當然,這些安裝可能有一點麻煩,需要下載,解壓,再運行安裝,卸載也不是很方便。有沒有一種工具,可以幫外面管理這些函式庫呢?

套件管理器 (pip 和 easy_install)
現在很多程式語言,都帶有套件管理器,例如 Ruby 的 gem,nodejs的npm。 Python當然也不例外,擁有大名鼎鼎的 pip和 easy_install。

前面說到的pypi就是一些 python第三庫所在的來源,使用 pip 或 easy_install 安裝模組,會搜尋這個來源,然後自動下載安裝。例如我們需要安裝flask 框架具體指令如下:

pip install flask
登入後複製

#或

easy_install flask
登入後複製

##簡單吧,一個簡單的命令就搞定。卸載也很方便,例如我們需要卸載flask

pip uninstall flask
登入後複製

#查看所安裝的套件,包括系統自帶的和手動安裝的

#

pip list
登入後複製

也可以搜尋套件

pip search flask
登入後複製

也可以重新導向輸出項目所使用的函式庫。

pip freeze > requirements.txt
登入後複製

這樣就會把該環境下的第三方函式庫重定向到requirements.txt檔案內,如果給別人安裝專案的依賴,只需要執行:

pip install -r requirements.txt
登入後複製

很方便吧。當然,有時候,我們的網路並不是那麼順暢,pip是在線上安裝的,可不可以離線呢?當然可以啦,pip install 的第一步,就是在 pypi 上尋找包,然後下載到本地。如果網路不好,可以先建一個本地的倉庫,把常用的套件離線下載。例如可以下載 flask 的原始碼

pip intall flask-master.zip
登入後複製

也也可以安裝。

虛擬環境相關安裝
當然,上面介紹的,其實也是很普通很常見的方式,也算不上什麼技巧。以下介紹的,則是一些需要了解原理和解決非常規問題的技巧。

使用Python,我們會喜歡用 virtualenv建立虛擬環境,例如建立一個 venv的虛擬環境。我們只需要 source進去就可以使用pip安裝了。但有時候,即使在虛擬環境下,使用了sudo的前綴(windows忽略),那麼安裝的庫不是在虛擬環境,而是被安裝到系統下的site-package 目錄下了。

windows的用戶可能會很開心,不需要注意這個問題。當然 windows 也同樣有著自己的問題。在 windows上安裝python,一般是編譯好的二進位包exe可執行檔。通常有 32位元和64位元的python。對於第三方函式庫,本來32和64不會有太大的差別。但對於一些C寫的python函式庫,如mysqldb,PIL, pillow,會發現使用pip或easy_install 的方式會報錯:

Fixing python error: Unable to find vcvarsall.bat
登入後複製

#原因大概是windows上缺少一些C編譯器東東。原始碼需要編譯一下才能安裝,此時 windows就很苦逼了。當然,有一些好心人,幫您把常用的一些函式庫編譯成 exe 可執行文件,放到了這個網站。你只需要尋找對於版本的,下載一鍵安裝。

可是,還有一個問題,下載exe 文件,運行安裝,這個庫是被安裝到了系統的site-package 目錄下,如果我在windows 建立了venv虛擬環境,這樣安裝不是歇菜了麼?

別擔心,這篇文章的真正技巧,就是為了解決這個問題的。我們來安裝64位元的 mysqldb。先下載 MySQL‑python‑1.2.5.win‑amd64‑py2.7.exe 在 windows 上,用命令列進入虛擬環境 venv。然後運行

 easy_install MySQL‑python‑1.2.5.win‑amd64‑py2.7.exe
登入後複製

完美解決,在 venv 虛擬環境,將mysqldb 函式庫安裝到了venv下。

有了上面三個方式,幾乎涵蓋 python 所有平台的第三方程式庫安裝。不過話說回來,儘管 Python 是跨平台,開發環境,還是盡量使用 Linux或MacOS,這兩個系統有更好的工具以及省去很多莫名其妙的問題。

更多Python第三方函式庫的安裝方法相關文章請關注PHP中文網!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1323
25
PHP教程
1272
29
C# 教程
1251
24
Python vs.C:申請和用例 Python vs.C:申請和用例 Apr 12, 2025 am 12:01 AM

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

Python:遊戲,Guis等 Python:遊戲,Guis等 Apr 13, 2025 am 12:14 AM

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。

Python與C:學習曲線和易用性 Python與C:學習曲線和易用性 Apr 19, 2025 am 12:20 AM

Python更易學且易用,C 則更強大但複雜。 1.Python語法簡潔,適合初學者,動態類型和自動內存管理使其易用,但可能導致運行時錯誤。 2.C 提供低級控制和高級特性,適合高性能應用,但學習門檻高,需手動管理內存和類型安全。

Python和時間:充分利用您的學習時間 Python和時間:充分利用您的學習時間 Apr 14, 2025 am 12:02 AM

要在有限的時間內最大化學習Python的效率,可以使用Python的datetime、time和schedule模塊。 1.datetime模塊用於記錄和規劃學習時間。 2.time模塊幫助設置學習和休息時間。 3.schedule模塊自動化安排每週學習任務。

Python vs.C:探索性能和效率 Python vs.C:探索性能和效率 Apr 18, 2025 am 12:20 AM

Python在開發效率上優於C ,但C 在執行性能上更高。 1.Python的簡潔語法和豐富庫提高開發效率。 2.C 的編譯型特性和硬件控制提升執行性能。選擇時需根據項目需求權衡開發速度與執行效率。

學習Python:2小時的每日學習是否足夠? 學習Python:2小時的每日學習是否足夠? Apr 18, 2025 am 12:22 AM

每天學習Python兩個小時是否足夠?這取決於你的目標和學習方法。 1)制定清晰的學習計劃,2)選擇合適的學習資源和方法,3)動手實踐和復習鞏固,可以在這段時間內逐步掌握Python的基本知識和高級功能。

Python:自動化,腳本和任務管理 Python:自動化,腳本和任務管理 Apr 16, 2025 am 12:14 AM

Python在自動化、腳本編寫和任務管理中表現出色。 1)自動化:通過標準庫如os、shutil實現文件備份。 2)腳本編寫:使用psutil庫監控系統資源。 3)任務管理:利用schedule庫調度任務。 Python的易用性和豐富庫支持使其在這些領域中成為首選工具。

Python標準庫的哪一部分是:列表或數組? Python標準庫的哪一部分是:列表或數組? Apr 27, 2025 am 12:03 AM

pythonlistsarepartofthestAndArdLibrary,herilearRaysarenot.listsarebuilt-In,多功能,和Rused ForStoringCollections,而EasaraySaraySaraySaraysaraySaraySaraysaraySaraysarrayModuleandleandleandlesscommonlyusedDduetolimitedFunctionalityFunctionalityFunctionality。

See all articles