安裝協力廠商模組

Great-Fortune 討論專區 程式語言 Python 園地 安裝協力廠商模組

標籤: 

該主題包含 0 則回覆,有 1 個參與人,並且由  Teddy6 年, 10 月 前 最後更新。

正在檢視 1 篇文章 - 1 至 1 (共計 1 篇)
  • 作者
    文章
  • #1311

    Teddy
    參與者

    轉載自廖雪峰的官方網站

    在Python中,安裝協力廠商模組,是通過包管理工具pip完成的。

    如果你正在使用Mac或Linux,安裝pip本身這個步驟就可以跳過了。

    如果你正在使用Windows,請參考安裝Python一節的內容,確保安裝時勾選了pip和Add python.exe to Path。
    在命令提示視窗下嘗試運行pip,如果Windows提示未找到命令,可以重新運行安裝程式添加pip。

    注意:Mac或Linux上有可能並存Python 3.x和Python 2.x,因此對應的pip命令是pip3。

    現在,讓我們來安裝一個協力廠商庫——Python Imaging Library,這是Python下非常強大的處理圖像的工具庫。不過,PIL目前只支持到Python 2.7,並且有年頭沒有更新了,因此,基於PIL的Pillow專案開發非常活躍,並且支持最新的Python 3。

    一般來說,協力廠商庫都會在Python官方的pypi.python.org網站註冊,要安裝一個協力廠商庫,必須先知道該庫的名稱,可以在官網或者pypi上搜索,比如Pillow的名稱叫Pillow,因此,安裝Pillow的命令就是:
    pip install Pillow
    耐心等待下載並安裝後,就可以使用Pillow了。

    有了Pillow,處理圖片易如反掌。隨便找個圖片生成縮略圖:

    >>> from PIL import Image
    >>> im = Image.open('test.png')
    >>> print(im.format, im.size, im.mode)
    PNG (400, 300) RGB
    >>> im.thumbnail((200, 100))
    >>> im.save('thumb.jpg', 'JPEG')

    其他常用的協力廠商庫還有MySQL的驅動:mysql-connector-python,用於科學計算的NumPy庫:numpy,用於生成文本的範本工具Jinja2,等等。

    模組搜索路徑

    當我們試圖載入一個模組時,Python會在指定的路徑下搜索對應的.py檔,如果找不到,就會報錯:

    >>> import mymodule
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ImportError: No module named mymodule

    預設情況下,Python解譯器會搜索目前的目錄、所有已安裝的內置模組和協力廠商模組,搜索路徑存放在sys模組的path變數中:

    >>> import sys
    >>> sys.path
    ['', '/Library/Frameworks/Python.framework/Versions/3.4/lib/python34.zip', '/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4', '/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/plat-darwin', '/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages']

    如果我們要添加自己的搜索目錄,有兩種方法:
    一是直接修改sys.path,添加要搜索的目錄:

    >>> import sys
    >>> sys.path.append('/Users/michael/my_py_scripts')

    這種方法是在運行時修改,運行結束後失效。
    第二種方法是設置環境變數PYTHONPATH,該環境變數的內容會被自動添加到模組搜索路徑中。設置方式與設置Path環境變數類似。注意只需要添加你自己的搜索路徑,Python自己本身的搜索路徑不受影響。

正在檢視 1 篇文章 - 1 至 1 (共計 1 篇)

抱歉,回覆主題必需先登入。