python中創(chuàng)建一個(gè)包并引用使用的操作方法
一、Python包
python包在開發(fā)中十分常見,一般通過導(dǎo)入包含特定功能的python模塊包進(jìn)行使用。當(dāng)然,也可以自己創(chuàng)建打包模塊,然后發(fā)布,安裝使用。
1、安裝包
在線安裝包:pip install 包名;
安裝第三方包:python setup.py install (幾乎每個(gè)python第三方包中都有這個(gè)setup.py文件,這個(gè)文件是作者打包時(shí)設(shè)置的文件,而安裝第三方包時(shí),也是要先進(jìn)入到setup.py文件所在目錄,然后執(zhí)行python setup.py install)
2、distutils 和 setuptools 兩種打包的工具
distutils
distutils 是 python 標(biāo)準(zhǔn)庫的一部分,這個(gè)庫的目的是為開發(fā)者提供一種方便的打包方式, 同時(shí)為使用者提供方便的安裝方式。當(dāng)我們開發(fā)了自己的模塊之后,使用distutils的setup.py打包。
使用詳情如下:
(1)在自己項(xiàng)目的根目錄下新建一個(gè)setup.py的腳本,然后在腳本中輸入下面的代碼,假設(shè)你要打包的module名稱為str.py
from distutils.core import setup setup ( name = 'str', version = '1.0', py_modules = ['str'], )
(3)根目錄下執(zhí)行打包命令:python setup.py sdist ,將自己的python文件打包,此時(shí)會(huì)發(fā)現(xiàn)多了一個(gè)文件夾dist,此文件夾下面多了一個(gè)str-0.1.tar.gz的壓縮包,這個(gè)壓縮包里面就是untitled目錄下的項(xiàng)目代碼
(4)安裝包:進(jìn)入cmd,然后輸入dos命令進(jìn)入setup.py文件所在目錄,然后輸入python setup.py install。
setuptools
setuptools是distutils的增強(qiáng)版。它可以幫助我們更簡單的創(chuàng)建和分發(fā)Python包,尤其是擁有依賴關(guān)系的。用戶在使用setuptools創(chuàng)建的包時(shí),并不需要已安裝setuptools,只要一個(gè)啟動(dòng)模塊setup.py即可。
使用詳情如下:
(1)安裝pip install python-setuptools后,在自己項(xiàng)目的根目錄下新建一個(gè)setup.py的腳本(注意:每個(gè)目錄中都需要?jiǎng)?chuàng)建一個(gè)init.py的文件,表示這個(gè)目錄是一個(gè)包)
from setuptools import setup, find_packages setup( name = "demo", version = "0.1", packages = find_packages(), # 代表在當(dāng)前目錄,以及當(dāng)前目錄下,所有的python包(帶__init__.py的目錄)都搜索,并一起打成egg文件包。find_packages(xyz),就是搜索名稱為xyz的包,以及xyz的下層目錄的包搜索出來,并一起打成egg文件包 include_package_data=True, #包含數(shù)據(jù)文件 install_requires=reqs, #指明依賴,該參數(shù)包含說明依賴的字符串或列表 )
(2)根目錄下執(zhí)行打包命令:python setup.py sdist_egg即可打包一個(gè)egg格式的包??梢钥吹?,里面是一系列自動(dòng)生成的文件。如圖:
(3)而dist中的壓縮包就是安裝包,此時(shí)默認(rèn)的egg包,egg包就是zip包,如果需要使用egg包,簡單方法是name將egg后綴改成zip解壓即可(或者進(jìn)入cmd,然后輸入dos命令進(jìn)入setup.py文件所在目錄,然后輸入python setup.py install)(4)測試導(dǎo)入包:
實(shí)際項(xiàng)目中,安裝非官方的第三方包時(shí),可以下載到本地后,在setup.py文件夾下執(zhí)行python setup.py install,或者在包根目錄通過pip install -e . 安裝pip會(huì)自動(dòng)將包復(fù)制到site-packages,他的作用是:
- 安裝site-packages/PackageName.egg-link文件
- 添加路徑 site-packages/easy-install.pth
到此這篇關(guān)于python中如何創(chuàng)建一個(gè)包并引用使用?的文章就介紹到這了,更多相關(guān)python創(chuàng)建包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python利用redis-py實(shí)現(xiàn)集合與有序集合的常用指令操作
這篇文章我們將來學(xué)習(xí)?redis-py?這個(gè)模塊針對?“集合”?與?"有序集合"的一些常用指令操作,文中的示例代碼講解詳細(xì),需要的可以參考一下2022-09-09Python BeautifulSoup基本用法詳解(通過標(biāo)簽及class定位元素)
這篇文章主要介紹了Python BeautifulSoup基本用法(通過標(biāo)簽及class定位元素),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08numpy按列連接兩個(gè)維數(shù)不同的數(shù)組方式
今天小編就為大家分享一篇numpy按列連接兩個(gè)維數(shù)不同的數(shù)組方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python中sorted()函數(shù)的強(qiáng)大排序技術(shù)實(shí)例探索
排序在編程中是一個(gè)基本且重要的操作,而Python的sorted()函數(shù)則為我們提供了強(qiáng)大的排序能力,在本篇文章中,我們將深入研究不同排序算法、sorted()?函數(shù)的靈活性,以及各種排序場景下的最佳實(shí)踐2024-01-01python計(jì)算牛頓迭代多項(xiàng)式實(shí)例分析
這篇文章主要介紹了python計(jì)算牛頓迭代多項(xiàng)式的方法,涉及Python數(shù)學(xué)運(yùn)算的相關(guān)技巧,需要的朋友可以參考下2015-05-05django Layui界面點(diǎn)擊彈出對話框并請求邏輯生成分頁的動(dòng)態(tài)表格實(shí)例
這篇文章主要介紹了django Layui界面點(diǎn)擊彈出對話框并請求邏輯生成分頁的動(dòng)態(tài)表格實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05python使用 zip 同時(shí)迭代多個(gè)序列示例
這篇文章主要介紹了python使用 zip 同時(shí)迭代多個(gè)序列,結(jié)合實(shí)例形式分析了Python使用zip遍歷迭代長度相等與不等的序列相關(guān)操作技巧,需要的朋友可以參考下2019-07-07