歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Python中如何使用pip安裝自己的第三方模塊

Python中如何使用pip安裝自己的第三方模塊

日期:2017/2/28 13:47:19   编辑:Linux教程

系統: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這種方式來安裝我們的模塊了

Copyright © Linux教程網 All Rights Reserved