您好,登錄后才能下訂單哦!
今天小編給大家分享一下python中怎么創建一個包并引用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
python包在開發中十分常見,一般通過導入包含特定功能的python模塊包進行使用。當然,也可以自己創建打包模塊,然后發布,安裝使用。
在線安裝包:pip install 包名;
安裝第三方包:python setup.py install (幾乎每個python第三方包中都有這個setup.py文件,這個文件是作者打包時設置的文件,而安裝第三方包時,也是要先進入到setup.py文件所在目錄,然后執行python setup.py install)
distutils 是 python 標準庫的一部分,這個庫的目的是為開發者提供一種方便的打包方式, 同時為使用者提供方便的安裝方式。當我們開發了自己的模塊之后,使用distutils的setup.py打包。
使用詳情如下:
(1)在自己項目的根目錄下新建一個setup.py的腳本,然后在腳本中輸入下面的代碼,假設你要打包的module名稱為str.py
from distutils.core import setup setup ( name = 'str', version = '1.0', py_modules = ['str'], )
(3)根目錄下執行打包命令:python setup.py sdist ,將自己的python文件打包,此時會發現多了一個文件夾dist,此文件夾下面多了一個str-0.1.tar.gz的壓縮包,這個壓縮包里面就是untitled目錄下的項目代碼
(4)安裝包:進入cmd,然后輸入dos命令進入setup.py文件所在目錄,然后輸入python setup.py install。
setuptools是distutils的增強版。它可以幫助我們更簡單的創建和分發Python包,尤其是擁有依賴關系的。用戶在使用setuptools創建的包時,并不需要已安裝setuptools,只要一個啟動模塊setup.py即可。
使用詳情如下:
(1)安裝pip install python-setuptools后,在自己項目的根目錄下新建一個setup.py的腳本(注意:每個目錄中都需要創建一個init.py的文件,表示這個目錄是一個包)
from setuptools import setup, find_packages setup( name = "demo", version = "0.1", packages = find_packages(), # 代表在當前目錄,以及當前目錄下,所有的python包(帶__init__.py的目錄)都搜索,并一起打成egg文件包。find_packages(xyz),就是搜索名稱為xyz的包,以及xyz的下層目錄的包搜索出來,并一起打成egg文件包 include_package_data=True, #包含數據文件 install_requires=reqs, #指明依賴,該參數包含說明依賴的字符串或列表 )
(2)根目錄下執行打包命令:python setup.py sdist_egg即可打包一個egg格式的包。可以看到,里面是一系列自動生成的文件。如圖:
(3)而dist中的壓縮包就是安裝包,此時默認的egg包,egg包就是zip包,如果需要使用egg包,簡單方法是name將egg后綴改成zip解壓即可(或者進入cmd,然后輸入dos命令進入setup.py文件所在目錄,然后輸入python setup.py install)(4)測試導入包:
實際項目中,安裝非官方的第三方包時,可以下載到本地后,在setup.py文件夾下執行python setup.py install,或者在包根目錄通過pip install -e . 安裝pip會自動將包復制到site-packages,他的作用是:
安裝site-packages/PackageName.egg-link文件
添加路徑 site-packages/easy-install.pth
以上就是“python中怎么創建一個包并引用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。