python模組,python模組下載

來源:互聯網
上載者:User

python模組,python模組下載

 1.模組的定義

      隨著程式碼越寫越多,在一個檔案裡代碼就會越來越長,越來越不容易維護。為了編寫可維護的代碼,我們把很多函數分組,分別放到不同的檔案裡,這樣,每個檔案包含的代碼就相對較少,很多程式設計語言都採用這種組織代碼的方式。在Python中,一個.py檔案就稱之為一個模組.abc.py模組的名字就變成了mycompany.abc

2.__init__.py
  每一個包目錄下面都會有一個__init__.py的檔案,這個檔案是必須存在的,否則,Python就把這個目錄當成普通目錄,而不是一個包。__init__.py可以是空檔案,也可以有Python代碼,因為__init__.py本身就是一個模組,而它的模組名就是mycompany。

3.變數域

  python的函數域預設的命名規範是:正常的函數和變數名是公開的(public),可以被直接引用,類似__xxx__這樣的變數是特殊變數,可以被直接引用,但是有特殊用途.類似_xxx和__xxx這樣的函數或變數就是非公開的(private),不應該被直接引用.python 沒有限制不能對private進行引用.

4.模組安裝 

 在Python中,安裝第三方模組,是通過包管理工具pip完成的。

一般來說,第三方庫都會在Python官方的pypi.python.org網站註冊

安裝Pillow的命令就是:

pip install Pillow

5.引用模組的搜尋路徑

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

預設情況下,Python解譯器會搜尋目前的目錄、所有已安裝的內建模組和第三方模組,搜尋路徑存放在sys模組的path變數中.
如果我們要添加自己的搜尋目錄,有兩種方法:
一是直接修改sys.path,添加要搜尋的目錄:

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

第二種方法是設定環境變數PYTHONPATH,該環境變數的內容會被自動添加到模組搜尋路徑中。

6.__init__.py檔案用法

   (1)匯入其他的包,或者模組。

    [python]   #貌似可以不需要寫  import readers   import writers   import commands   import users   import meta   import auth   import admin 

      這樣,當我們匯入這個包的時候,__init__.py檔案自動運行。幫我們匯入了這麼多個模組,我們就不需要將所有的import語句寫在一個檔案裡了,也可以減少代碼量。

      在一個包裡有foo.py、__init__.py

#__init__.pyimport osimport datetime
#foo.pyfrom __init__ import *print datetime.datetime.now()

    (2)__all__

     __init__.py 中還有一個重要的變數,叫做 __all__。我們有時會使出一招“全部匯入”,也就是這樣:
  from PackageName import *
  這時 import 就會把註冊在包 __init__.py 檔案中 __all__ 列表中的子模組和子包匯入到當前範圍中來。

      比如__all__ = ["Module1", "Module2", "subPackage1", "subPackage2"]

    (3)加入mian函數,當作為模組被調用時執行

def main():    print('__init__.main()')

     (4)引入package的過程中,__init__.py會運行,因此,如果某些變數或方法需要常駐記憶體,可以將它們寫入__init__.py檔案中

 

import PackageName

 7 pip常用命令

Usage:     pip <command> [options] Commands:  install                     安裝包.  uninstall                   卸載包.  freeze                      按著一定格式輸出已安裝包列表  list                        列出已安裝包.  show                        顯示包詳細資料.  search                      搜尋包,類似yum裡的search.  wheel                       Build wheels from your requirements.  zip                         不推薦. Zip individual packages.  unzip                       不推薦. Unzip individual packages.  bundle                      不推薦. Create pybundles.  help                        當前協助. General Options:  -h, --help                  顯示協助.  -v, --verbose               更多的輸出,最多可以使用3次  -V, --version               現實版本資訊然後退出.  -q, --quiet                 最少的輸出.  --log-file <path>           覆蓋的方式記錄verbose錯誤記錄檔,預設檔案:/root/.pip/pip.log  --log <path>                不覆蓋記錄verbose輸出的日誌.  --proxy <proxy>             Specify a proxy in the form [user:passwd@]proxy.server:port.  --timeout <sec>             連線逾時時間 (預設15秒).  --exists-action <action>    Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup.  --cert <path>               認證.
# pip show --files somepackage      pip查看已安裝的包中包含哪些檔案# pip list  --outdated   pip檢查哪些包需要更新

 

8 pip逾時的解決

     在使用pip安裝包時經常會出現逾時的錯誤。可以通過鏡像下載相應的安裝包。

     例如清華大學鏡像地址:http://e.pypi.python.org

      可以使用下面的命令安轉

pip install flask -i http://e.pypi.python.org/simplepip install flask -i http://pypi.v2ex.com/simple

    還可以再設定檔中修改timeout和鏡像地址

[global]timeout = 6000index-url = http://e.pypi.python.org/simple[install]use-mirrors = truemirrors = http://e.pypi.python.org

     在unix和macos,設定檔為:$HOME/.pip/pip.conf
     在windows上,設定檔為:%HOME%\pip\pip.ini

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.