什麼是pip?Python新手入門指南

2021-02-20 Python開發

譯者丨敦偉

來源丨Python程式設計師

https://realpython.com/what-is-pip/

什麼是 pip ?pip 是 Python 中的標準庫管理器。它允許你安裝和管理不屬於 Python標準庫 的其它軟體包。本教程就是為 Python 新手介紹 pip。

通過本教程,你將學到:

1. 安裝 Python 的標準發行版中未包含的其他軟體包

2. 查找發布於 Python 包索引(PyPI)的包

3. 管理腳本和應用程式的安裝需求

4. 卸載包及它的相關依賴

如你所見,Python 社區非常活躍,並且為 pip 創建了一些簡潔的替代方案,你可以在本教程稍後的部分看到。

pip 入門

那麼,什麼是 pip 呢?pip 是 Python 的包管理器。這意味著它是一個工具,允許你安裝和管理不屬於標準庫的其他庫和依賴。

軟體包管理極其重要,所以自 Python3 的 3.4 版本以及 Python2 的 2.7.9 版本開始,pip 一直被直接包括在 Python 的安裝包內,同樣還被用於 Python 的其它項目中,這使得 pip 成為了每一個 Pythonista(Python用戶)必備的工具。

如果你已經了解了其他語言,那麼可能會對包管理器的概念比較熟悉。JavaScript 使用 npm 管理軟體包,Ruby 使用 gem,以及 .NET 使用 NuGet。Python 中,則是 pip 作為標準包管理器。

Python 的安裝器中自帶了 pip,所以你可以直接使用它,除非你安裝的是更早版本的 Python。你可以通過在控制臺中運行以下命令來驗證 pip 是否可用:

你應該可以看到一個類似的輸出,顯示 pip 的版本以及安裝位置還有 Python 的版本。如果你使用的是不包含 pip 的舊版本 Python,你可以根據 pip 安裝文檔中相應系統的說明進行安裝。

你可能希望在虛擬環境中使用本教程的示例,以避免將包安裝到 Python 的全局安裝環境中。你可以從 Python 虛擬環境:入門級了解虛擬環境相關的信息,這篇文章的」使用虛擬環境「一節介紹了創建虛擬環境的基礎知識。

使用 pip 安裝軟體包

Python 被認為是一種"內置電池"式的語言。這表示 Python 標準庫包含大量的軟體包和模塊,這些模塊有助於開發人員開發腳本和應用。

與此同時,Python 擁有一個活躍的社區,它提供了一個更大的軟體包集合,以供你開發所需。這些軟體包發布在 Python Package Index,也被稱為 PyPI(發音 Pie Pea Eye)。PyPI 託管了大量包,包括開發框架,工具和庫。

其中很多軟體包通過為已有功能提供了友好地接口來簡化 Python 開發。例如,你可以寫一個腳本,僅使用 Python 標準庫中的功能分析網頁的內容:

腳本中,導入了 cgi 和 http.client,這兩個都是在 Python 的標準庫中。你創建了一個 HTTPSConnection 對象並指定伺服器,然後調用 .request() 和 .getresponse() 解析響應信息。

從響應信息中,我們解析到 Content-Type 頭信息並且使用 cgi 模塊提取頁面編碼的字符集。

cgi.parse_header() 返回一個包括主要值和字典作為參數的元組。例如,Content-Type 頭信息可能包含一個像 text/html; charset=ISO-8859-1 的值。

這個元組將字符串 text/html 作為第一個元素,第二個元素是 {'charset': 'ISO-8859-1'} 這樣形式的字典。因為你只需要關心 charset 參數,可以使用下劃線忽略元組的開頭:_, params = cgi.parse_header(content_type)。

注意:Python 中下劃線的含義解釋了如何從元組解包值。

對頁面編碼後,你可以閱讀相應信息並解碼到文本中。你可以在控制臺中運行這個例子查看它是怎麼工作的:

對於一個用於解析網頁內容的小腳本來說,這看起來做的工作有點多。幸運的是,有一個 Python 的包可以簡化 HTTP 請求並提供了一個友好地接口來實現你的期望。

基礎包安裝

PyPI 託管了一個非常流行的庫 requests 來完成 HTTP 請求。你可以通過它的官方文檔站點了解所有的相關信息。

第一步是在你的環境中安裝 requests 包。你可以運行 pip help 來了解 pip 支持的命令:

如你所見,pip 提供了 install 命令來安裝軟體包。你可以運行它來安裝 requests 包:

你可以看到與上面類似的輸出信息。你可以使用 pip 以及 install 命令,其後跟著你想要安裝的包名。pip 會在 PyPI 中查找這個包,計算其依賴關係,安裝並確保 requests 正常工作。

你還可以看到當前環境下 pip 的版本是 18.1,但是還有 19.0.1 版本可用。它還顯示了用於升級 pip 的命令,所以我們來試一下:

注意這裡,你使用了 python -m 來升級 pip。-m 開關告訴 Python 將模塊作為可執行文件運行。如果你要升級 pip,這麼做是很有必要的,在安裝新的版本之前會卸載舊的版本,而當工具在運行時卸載它自己會導致錯誤。

當你將 pip 作為一個模塊運行時,Python 會將模塊加載到內存中,並允許在這個模塊包運行的時候刪除它。如果軟體包提供了頂層腳本 __main__.py,那麼你可以像運行腳本一下運行這個軟體包。

你已經安裝了 requests 並升級了 pip,現在可以使用 list 命令查看你的環境中安裝了哪些軟體包。

如上所示,pip 已經升級到了 19.0.1 版本(目前最新版本),並且安裝了 requests 2.21.0 版本。

命令 pip install 會查找並安裝軟體包的最新版本。同時還會搜索軟體包元數據中的依賴列表,並安裝這些依賴以確保軟體包滿足所有的需求。

這裡你可以看到安裝了很多軟體。你可以使用 pip 中的 show 命令查看包的元數據信息:

元數據中列出了依賴項 certifi,chardet,idna 和 urllib3,而且你可以看到這些都已經安裝好了。

既然已經安裝了 requests 包,我們可以修改上面的例子,來看看如何更方便地解析網頁的內容:

因為你已經在開發環境中安裝了 requests 包,可以像導入其他標準庫一樣導入它。

可以看到,requests.get() 處理了 HTTP 連接並返回一個與之前例子相似的響應,但是簡潔方便了很多。

因為 requests 已經幫你處理了大部分情況,所以你不需要考慮頁面的編碼問題。而且,requests 還通過 requests.Response 對象提供了一個更加靈活的接口來處理特殊情況。

使用 requirements.txt 需求文件

pip install 命令只會安裝最新發布的軟體包版本,但是有時候,你可能希望根據代碼運行情況安裝特定的版本。

你還希望在開發和測試時指定創建的依賴和版本,這樣就可以在生產環境避免應用程式出現意外情況。

需求文件可以精確指定需要安裝的軟體包和版本。運行 pip help 你可以看到一個 freeze 命令,它會按照格式化輸出以已經安裝的軟體包。你可以使用這個命令,將輸出重定向到文件以生成一個需求文件:

freeze 命令將所有軟體包以及版本信息轉儲到標準輸出,所以你可以重定向這些輸出到文件中。這樣就可以在其他系統中根據這個需求文件執行精準安裝。約定這個需求文件名為 requirements.txt,但是你也可以根據個人喜好命名。

如果你希望在其他系統中複製你的開發環境,你可以運行 pip install 命令並用 -r 開關指定需求文件:

軟體包的版本會根據 requirements.txt 所列出的進行匹配:

你可以將 requirements.txt 文件提交到資源控制器,這樣就可以使用它在其它機器上創建精準匹配的環境了。

微調需求文件

軟體包及其依賴的版本可能會導致硬編碼問題,這是因為軟體包會針對 bug 以及安全修復進行頻繁的更新,而你可能希望在它們發布後立即做出更改。

需求文件的格式允許你使用邏輯運算符指定依賴的版本,這為確保更新包提供了更多的靈活性,但是仍然要定義一個包的基礎版本。

使用你常用的編輯器並作以下修改:

你可以通過改變邏輯運算符為 >= 來告知 pip 精準安裝已發布的指定版本或更高版本。當你使用 requirments.txt 設置了一個新的環境,pip 會查找滿足需求的最新版本並安裝。你可以使用帶有 --upgrade 開關的 install 命令來升級你需求文件中定義的軟體包:

這裡沒有任何升級操作,因為你的軟體都是最新版本,但是如果在包列表中發布了新的版本,那麼這個包就會被升級到最新版本。

理想情況下,新版本的包會向後兼容並且沒有新引入的 bug。不幸的是,新版本引入的更改還是可能會破壞你的應用程式。需求文件的語法支持額外的版本說明符來微調你的需求。

比方說 requests 發布了新版本 3.0,但是有一些更改與你的應用程式不兼容。你可以通過修改需求文件來禁止安裝 3.0 版本以及更高的版本:

更改 requests 的版本操作符可以確保不會安裝 3.0 或更高的版本。pip 的文檔提供了全部的需求文件格式,你可以查閱以了解更多相關信息。

生產與開發環境的依賴關係

你在開發期間安裝的依賴並不都是你的應用程式的依賴。其中有很多發布到 PyPI 上的包,是你開發過程中想用到的工具或庫。

比方說,你可能希望對你的應用做單元測試,你需要單元測試的框架。一個流行的單元測試框架是 pytest。你希望在你的開發環境中安裝它,但是卻不希望在生產環境也安裝它,因為它不是應用的依賴。

這時你會創建第二個需求文件(requirements_dev.txt)來列出配置開發環境需要的工具:

這裡需要你使用 pip 安裝兩個需求文件:requirements.txt 和 requirements_dev.txt。還好,pip 允許在需求文件內部指定一些額外的參數。你可以需改 requirements_dev.txt 文件支持同時安裝生產文件 requirements.txt 中的需求:

注意這裡你使用了完全相同的 -r 開關來安裝生產文件 requirements.txt。需求文件格式允許你在需求文件中指定其他參數。

為生產環境凍結需求文件

你已經創建了生產和開發環境的需求文件,並將它們添加到資源控制器中。這些文件可以靈活 的指定版本,可以通過發布的依賴進行修復 bug。你還可以測試你的應用程式並為發布到生產環境做準備。

因為已經知道開發環境應用程式的所有測試已經正常通過,所以你可能希望確保生產環境的依賴版本與整合管道或構建過程中使用的完全相同。

目前的版本說明符並不能保證會在生產環境部署完全相同的版本,所以你需要凍結說明文件 ,像之前看到的那樣。

你創建了一個乾淨的生產環境,並使用 requirements.txt 文件安裝了生產需求。安裝完需求文件之後,你可以凍結當前這個特定的版本,並將輸出轉儲到生產環境的 requirements_lock.txt 文件中。該 requirements_lock.txt 文件中包含精確的版本說明符,並且可以複製當前環境。

搜索可用包

當你擁有更多的 Python 經驗之後,會有一套熟悉的軟體包,並且可以用於大部分應用程式。包 requesta 與 pytest 對於補充你的 Python 工具箱來說,都是很好的選擇。

有時你需要解決不同的問題,並想要找到一個可以幫助你解決問題的工具或庫。上面提到,命令 pip help 展示了一個命令 search,可以搜索在 PyPI 上發布包。

我們看看這個命令有什麼用:

這個命令給出了一組選項以及一個 參數。query 是一個用於搜索的字符串,可以匹配包名及描述。

注意:你可以使用 pip help 檢索其它支持的命令的信息。

假設你的應用需要訪問一個使用 OAuth2 授權的服務。理想情況下,會有一個庫使用 requests 執行或者其它類似的接口實現。用 pip 到 PyPI 上搜索一下:

search 命令選項生成了一個相當大的包集合。其中一些看起來像 django-oauth 這樣指定了一個服務或技術。希望找到一個像是 requests-oauth 的信息。很不幸,除了簡短的描述,並沒有其它信息。

多數情況下,你希望直接在 PyPI 的網站搜索包。PyPI 為其索引提供了搜索功能,並通過包中公開的元數據(如框架,主題,開發狀態等)過濾搜索結果。

PyPI 中用同一個術語搜索可能會產生大量的結果,不過你可以對它們進行分類過濾。比如,如果你想要找到可以幫助你開發應用的庫,你可以展開 Intended Audience 並選擇 Developers。另外,你可能還需要一個穩定且可用於生產的包,可以展開 Development Status 並選擇 Production/Stable。

你可以應用其他過濾器以及調整搜索詞,直到找到你想要的包。

搜索結果提供了一個包頁面的連結,包含了更多的信息以及想要的文檔。下面我們看看 requests-oauth2 的信息:

這個項目頁面提供了更多的信息,而且看起來還有一個指向 Home 頁的連結。該連結指向 Github 上的項目倉庫。你可以看到項目相關的更多信息以及一些使用示例。

看到初始原始碼倉庫,像是找到了無價的財富。在那裡,你可以通過查看最新的提交日誌,PR(pull request)次數以及打開的 issues 等問題來找到一些項目的狀態和提示。

另外還有一個查找包的方式,Google。被廣泛使用的 Python 庫會展示在 google 搜索的頂部,並且你應該能看到指向 PyPI 中包或者原始碼倉庫的連結。

找到一個合適包需要花費一些時間研究,但是只要找到了,就可以為你的開發過程提速。

卸載包

有時候你不得不卸載一個軟體包。要麼是你找到了一個更好的包來替代它,要麼是確實不需要某些功能了。卸載軟體包會有一些棘手。

注意這裡,當你安裝了 requests,pip 同時也安裝了其他的依賴。你安裝的包越多,多個包擁有相同的依賴的可能性越大。這裡 pip 的 show 命令就派上用場了。

卸載包之前,先確保你已經對這個包運行了 show 命令:

注意最後的兩個屬性 Requires 和 Required-by。show 命令向我們展示了 requests 需要依賴 urllib3,certifi,chardet 和 idna。你可能希望卸載其中的兩個。而且你可以看到 requests 沒有被其他包引用,所以它可以安全地卸載。

你應該對 requests 中所有的依賴都運行一下 show 命令,以確保沒有其他庫依賴它們。你了解了這些依賴次序之後,就可以使用 uninstall 命令來卸載它們。

卸載包會顯示將要刪除的文件並要求確認。如果你確認要卸載這個包並且已經檢查了它的依賴關係,知道沒有其他包在使用這個包,那麼可以使用 -y 開關來隱藏文件列表和確認提示信息:

你可以一次調用指定所有你想卸載的包:

你還可以通過提供 -r  選項來刪除需求文件中列出的全部軟體包。這個命令會對每一個包都提示確認信息,如果你已經明確知曉你的操作,可以通過 -y 開關禁止這些提示:

在你想要卸載包時,一直都要記得檢查一遍依賴項。你可能希望卸載一個軟體包的所有依賴,不過如果有其它軟體包在使用這些依賴,會導致程序崩潰。

pip 的替代品

pip 是所有 Pythonista 必備的基本工具,很多應用程式和項目使用它作為軟體包管理器。本教程幫助你了解基礎知識,而 Python 社區非常積極的為其它開發人員提供了很棒的工具和庫。其中包括 pip 的替代品,期望實現簡單高效的包管理。

在本節,你將了解到 Python 中其它可用的包管理工具。

萬能的 Conda

Conda 是一個包括 Python 在內的多種語言的包、依賴及環境管理器。實際上,它最早來源於 Anaconda,作為 Python 中研究數據科學的包出現。

Conda 廣泛用於數據科學和機器學習應用程式,並使用自己的索引來託管兼容的軟體包。

Conda 不僅可以管理包的依賴項,還可以管理應用的虛擬環境,安裝兼容並存的 Python 版本,為生產部署打包應用。

在 Windows 系統上為機器學習設置 Python 很好的介紹了 Conda,它探討了包和環境管理。唯一與 Windows 相關的特定信息是安裝,因此如果你使用的是其他系統平臺,它仍然是可信的。

Pipenv

Pipenv 是另外一種包管理工具,旨在為 Python 「提供全世界最好的包」。由於將虛擬環境與包管理合併到一個工具中,pipenv 在 Python 社區獲得了極大的關注。

它還解決了在使用 pip 手動管理依賴關係是遇到的一些常見問題,比如,包的版本,隔離開發與生產環境依賴,鎖定生產環境版本等。

Pipenv:新的 Python 打包工具指南是一份很好的學習 Pipenv 及其包管理的入門材料。儘管這篇文章的標籤是中級,但是作者對讀者做了很好的引導,初學 Python 的人也能理解這篇文章。

Poetry

Poetry 是另一個受到大量關注的 pip 替代品。與 Pipenv 類似,它簡化了包的版本管理並隔離了開發環境與生產環境的依賴,而且它將依賴隔離到一個虛擬環境中運行。

如果你已經了解 JavaScript 和 npm,會覺得 Poetry 非常熟悉。它不只是管理包,還可以幫助你為應用和庫構建發行版本並部署到 PyPI。如何向 PyPI 發布一個開源的 Python 包中一個很棒的 Poetry 介紹可以幫你入門。

總結:什麼是 pip?

本教程回答了問題:什麼是 pip?你現在已經知道,pip 是 Python 的包管理器,被很多項目用於依賴管理。現在 Python 安裝器已經包含了 pip,使它成為所有的 Pythonista 都應當會用的基礎工具。

Python 提供了一個適用於開發各種應用的標準庫擴展,但是 Python 活躍的社區提供了更多的工具和庫,可以加速 Python 應用開發。

這些工具和庫都發布在 Python 包索引(PyPI)上,並且使用 pip 允許開發者在自己的環境中安裝它們。

通過這篇教程,你可以學到:

1. 在命令行使用 pip 以及需求文件安裝新的軟體包

2. 管理依賴,隔離開發與生產環境,以及創建一個鎖定的需求文件

3. 通過 pip 和 PyPI 查找包

4. 在卸載包之前評估包依賴,以及如何卸載包此外,你已經了解到保持依賴處於最新的重要性,而且,pip 的很多替代品可以幫你管理這些依賴。

如果你有任何問題,可以隨時在下面的評論部分留言,你還可以隨時在 pip 文檔頁面獲取更多信息。

 推薦↓↓↓ 

涵蓋:程式設計師大咖、源碼共讀、程式設計師共讀、數據結構與算法、黑客技術和網絡安全、大數據科技、編程前端、Java、Python、Web編程開發、Android、iOS開發、Linux、資料庫研發、幽默程式設計師等。

相關焦點

  • 解決PyCharm問題:module 'pip' has no attribute 'main'
    發現python出了版本3.7,按捺不住,在自己的mac上安裝了3.7。這樣我的mac上有python2.7、python3.6和python3.7三個版本。之前的安裝命令pip install package命令會將package安裝到python2.7裡pip3 install package命令會將package是安裝到python3.6裡但是現在我想使用python3.7作為PyCharm的解析器(interpreter),所以如果想給python3.7安裝新的package,就要在pycharm
  • Python入門小迷宮,走完這個迷宮,就能掌握python編程基礎
    這是一個很神奇的迷宮,走完這個迷宮就能掌握python基礎。其實,這是一個用python做的迷宮小遊戲,非常簡單,但對於python初學者來說,還是有一定的挑戰性,但TONOW有源碼和教程,只要跟著python迷宮小遊戲的教程和相應的源碼,不僅很容易就能自己開發出這個遊戲,還能在這個過程中,掌握python編程的基礎哦!
  • Python 炫技操作:安裝包的八種方法
    使用 pip installpip 是最主流的包管理方案,使用 pip install xxx 就可以從 PYPI 上搜索並安裝 xxx (如果該包存在的話)。>更多 pip 的使用方法,可參考我之前寫的文章,介紹得非常清楚:最全的 pip 使用指南,50% 你可能沒用過。
  • 光遇新手一圖流攻略 新手教程快速入門玩法指南
    18183首頁 光遇 光遇新手一圖流攻略 新手教程快速入門玩法指南 光遇新手一圖流攻略 新手教程快速入門玩法指南 來源
  • 《拳擊之星》新手攻略 新手入門玩法技巧指南
    導 讀 拳擊之星新手怎麼玩?
  • 《哈迪斯:地獄之戰》新手入門指南 新手技巧分享
    《哈迪斯:地獄之戰》是一款RL動作冒險遊戲,遊戲中玩家可以根據門口的標識符,自由的選擇自己前進的方向,不過還需要搭配技能來通關,下邊就給大家帶來哈迪斯地獄之戰新手入門指南,大家可以來看一看。新手入門指南1.道具裡面小錘子是最重要的,因為它決定了你的流派,比如我通關那一回就是拿到了縮短長矛蓄力攻擊的時間和後搖,以及擴大蓄力攻擊範圍。2.前期儘量不要選擇拿那個綠色寶石,它是用來解鎖裝飾用的。3.雅典娜的衝刺非常強。4.混沌神的獎勵是你完成任務後才給的,前期推薦拿增加黑暗水晶產出。
  • 教你如何使用Python的27萬代碼庫
    PyPI是什麼?PyPI是Python軟體儲存庫,是Python官方的第三方庫的倉庫;而pip是一個管理包工具,主要用於下載安裝PyPI上的軟體包,我們可以理解為它是開啟PyPI寶庫的鑰匙。PyPI的官網就是pypi.org。
  • LOL手遊新手入門指南 讓你十分鐘就成為老油條
    ------------------------------------- 英雄聯盟手遊新手要怎麼玩?新手在進入遊戲後要做些什麼?LOL手遊中什麼英雄最適合新手?
  • Python3.6安裝BeautifulSoup4模塊
    首先要確保自己的python3.6運行正常?何為運行正常呢?就是你在cmd後出現的「黑屏幕」上直接輸入python然後出現下面的界面就是正確的了。然後我們安裝的話,需要在 直接進入的cmd裡面進行安裝,而非python3.6環境中我們關閉上面的python3.6環境。重新cmd,進入「黑屏幕」。
  • Python入門項目,從不會編程到完成這個小遊戲,也就兩天時間
    還在啃書本學python嗎?為什麼不試試用有趣的小遊戲來學編程?自己開發的遊戲,既能活學活用python,又能找回學習的自信。Python版本:3.6.4需要的相應模塊:cocos2d模塊;pyaudio模塊;包括其他的python自帶模塊
  • 如何用一個Python示例入門TensorFlow?
    對於其他的作業系統和語言,你可以查看官方的安裝指南。我們需要了解的另一件事是系統的硬體配置。安裝 TensorFlow 可以有兩種選擇:· 只支持 CPU 的 TensorFlow 版本。· 支持 GPU 的 TensorFlow 版本。如果你的系統有一個 NVIDIA GPU,那麼你可以安裝支持 GPU 的 TensorFlow 版本。
  • Python實現陰陽師電腦端自動組隊刷御魂
    Python實現陰陽師電腦端自動組隊刷御魂1 開發環境搭建Python3.7安裝下載地址: https://www.python.org/ftp/python/3.7.0/python-3.7.0-amd64.exe依賴包安裝pip install pywin32Python代碼獲取exe程序相關信息的模塊pip install pyautogui
  • 如何部署Jupyter Notebook用於交互式Python開發?
    您需要什麼?我將在Ubuntu Desktop 20.04上演示該過程,但是您可以在任何支持Python 3的平臺上進行這番操作。顯然,您需要調整在所選擇的平臺上安裝Python的步驟,如果還沒有安裝的話。您還需要擁有sudo特權的用戶。
  • Python一行代碼,能玩這麼多童年的遊戲?
    來源 | 早起 Python責編 | Carol封圖 | CSDN 下載自視覺中國兒童節就要來了,雖然禿頭程式設計師沒有頭髮,但是童心還是一直都在的,今天就分享一個私藏的GitHub項目——free-python-games
  • 英雄聯盟新手入門指南 LOL新手幫助教程
    這是一篇適合英雄聯盟新手的幫助文檔,它能讓新手快速熟悉了解遊戲,包括各種名詞解釋、召喚師技能講解,常用裝備解釋,非常適合英雄聯盟的玩家的新手入門指南
  • Python生成一維碼,二維碼
    我們的生活已完全離不開一維碼和二維碼,本文會簡單的介紹如果通過python的方法來生成它們
  • 《弓箭大冒險》新手怎麼玩 新手快速入門指南
    導 讀 弓箭大冒險這款冒險挑戰類型的遊戲,很多新手玩家都不知道怎麼玩,那麼玩家該如何通關呢,新手上手有什麼技巧
  • 新手請進:每個Python程式設計師都應該知道的10個縮寫詞
    lowercased: hello python!uppercased: HELLOPYTHON!我們可以使用pip工具從PyPI安裝任何軟體包。該安裝過程非常輕鬆,只需在命令或終端中使用一行代碼即可。以下代碼段總結了一些常用用法。想要了解有關pip工具用法的更多信息,可以訪問其官方網站:https://pip.pypa.io/en/stable/user_guide/。
  • 當python遇到Andriod手機 那麼,萬物皆可盤!
    No,看過了今天的內容,你python的裝13指數,至少上升1w+,並附帶暴擊、濺射、眩暈、致盲效果。沒錯,就是這麼囂張當python遇到安卓手機我們日常的python學習和使用都是在電腦上的,會寫Linux下的python腳本、搞一些爬蟲的項目、開發幾個好玩的web網站,用python做數據分析。可如果脫離了電腦,就成了零。如何讓我們的python,隨時隨地的裝13?
  • python開發web服務 bottle框架
    # pip install bottle分享一個遇到的pip的問題,我Python版本很低2.6.6。本來通過安裝yum的epel,已經成功安裝了好用的pip。You should consider upgrading via the 'pip install --upgrade pip' command我看這個提示也沒什麼惡意,就執行了pip install --upgrade pip。