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