文章目录
-
- 背景
- 创建包步骤
- 导入包步骤
- 示例验证
背景
在工作中,总是有些函数总是被高频调用,为了减少每次拷贝重写次数,可搭建属于自己的包
创建包步骤
- 安装打包工具setuptools、wheel
pip install setuptools wheel
- 创建包目录
-MyTest --OwnTest ----__init__.py ----cm.py ----cm2.py --setup.py # 注意: 1. setup.py 要与待打包的程序OwnTest放在同级目录 2. 待打包的程序OwnTest中要包含__init__.py 文件
- 程序内容
- init.py: 为空
- cm.py:
# -*- coding: UTF-8 -*- import sys def c1(): print(sys._getframe().f_code.co_name) def c2(): print(sys._getframe().f_code.co_name) if __name__ == '__main__': c2()
- cm2.py:
# -*- coding: UTF-8 -*- import sys class CM2(object): def __init__(self,param1): self.w=param1 def get_result(self): print(self.w) if __name__ == '__main__': run1 = CM2(3) run1.get_result()
- setup.py:
# -*- coding: UTF-8 -*- from setuptools import setup, find_packages setup( name="OwnTest", version="1.0.0", description='Python 打包程序', author='xx', author_email='xx', packages=find_packages(), # 数据文件全部打包 package_data={"": ["*"]}, # 自动包含受版本控制(svn/git)的数据文件 include_package_data=True, zip_safe=False, # # 设置依赖包 # install_requires=[ # 'jieba>=0.42.1' # ], )
- 打包成whl
# 进入到MyTest 目录下 python setup.py bdist_wheel # 执行成功后,生成 build、dist、OwnTest.egg-info # 在dist目录下生成OwnTest-1.0.0-py3-none-any.whl, 即为包可用
导入包步骤
pip install OwnTest-1.0.0-py3-none-any.whl(全路径或进入dist安装)
示例验证
- test.py
# -*- coding: UTF-8 -*- from OwnTest import cm from OwnTest.cm2 import CM2 cm.c2() x = CM2(5) x.get_result()
c2 5