2021-05-12 14:32:11
Python中如何使用pip安裝自己的第三方模組
系統:CentOS6.8 Python版本:python3.5
文字編輯器:vim
python中我們很多時候,需要將自己的py檔案匯入到python路徑中,但是我們自己的檔案自身並不在python預設的庫檔案路徑下,這時候就需要我們自己將我們的py檔案import進入了
下面範例怎麼匯入自己的第三方模組,我們首先需要自己建立一個.py檔案,名字隨意明名了,但是不要和python內部模組重命,內部模組路徑在/usr/lib/python3.5/site-packages。要不然使用python提供的一些模組的方法時就悲劇了。
我們寫程式碼看看一個列表是否是含有列表巢狀,如果有巢狀,就拆開輸出,環境python3,命名為liname.py
#!/usr/bin/env python3 def print_list(the_list): 傳出一個列表引數
for item in the_list: 挨個遍歷列表元素
if isinstance(item,list): 判斷每個元素是否為列表
print_list(item) 呼叫自身做
else:
print(item) 我們想要將這個.py檔案變成一個模組,我們可以使用Python包索引(Python Package Index,PyPI)這 樣一個網際網路中第三庫的集中管理,我們首先建立一個目錄,名字還是隨意啊,比如就叫dog
在這個目錄中建立一個名字為setup.py的檔案,檔案內容如下所示:
現在dog這個目錄中已經包含了兩個檔案setup.py和lsname.py這個檔案,我們在終端中輸入命令:
python3 setup.py sdist ,然後目錄下會多出幾個檔案和目錄,如圖所示
然後我們使用命令: python3 setup.py install 安裝
然後我們再python3的互動式命令列下匯入模組,輸入一個列表,然後呼叫,會觸發下列異常
這是因為我們的python的主程式中的程式碼模組與一個名為__main__的名稱空間關聯,將程式碼放在其單獨的模組中時,python會自動建立與模組同名的名稱空間。因此我們的模組中的程式碼會與一個名為liname的名稱空間關聯
我們剛進入到python的互動式命令列的時候是和__main__這個名稱空間相關聯的,我們想要使用liname這個空間的print_list方法時不能單純的使用這個函數,而需要這樣使用liname.print_list()這樣子使用,比如:
這樣子就完全沒有問題了。
如果我們自己本身寫了一段很好的程式碼,想將它貢獻出去,除了github外,我們可以放在pypi這個網站上,也就是我們使用pip或者easy_install這樣的命令安裝
我們先在PyPI網站上(http://pypi.python.org/),來註冊我們的資訊
註冊完成後我們就開始向PyPI上傳我們的程式碼,上傳時我們要知道我們註冊時的賬號和密碼,因為接下來會用到
因為我沒什麼好的程式碼貢獻所以,後面的步驟略去,進行完了這些步驟,我們就可以上傳了,
我們使用命令:python3 setup.py upload
至此我們自己寫的程式碼就貢獻給了PyPI社群,別人如果想要安裝我們這個模組,就可以通過pip或者easy_install這種方式來安裝我們的模組了
本文永久更新連結地址:http://www.linuxidc.com/Linux/2016-11/137015.htm
相關文章