创建目录
/PythonWheelDemo/
├── LICENSE
├── README.md
├── rldemopkg
│ ├── __init__.py
│ └── sdktest_lh.py
└── setup.py
rldemopkg:项目包
LICENSE 许可
README.md 可有可无
setup.py 执行打包文件
# init文件引入需要被导入模块
├── __init__.py
# code
from .sdktest_lh import registerHive
# 自定义的模块
└── sdktest_lh.py
# code
def registerHive():
print(123456789)
└── setup.py
# code
import setuptools
with open("README.md", "r") as fh:
long_description = fh.read()
setuptools.setup(
name="sdktest_lh", # 发布的自定义模块可以导入
version="0.0.1",
author="Ron LEsteve",
author_email="ronlesteve@ronlesteve.com",
description="Package to create Hive", # 模块描述
packages=setuptools.find_packages(), # 打包的目录 rldemopkg
python_requires='>=3', # 指定打包后python版本
)
安装依赖
pip install wheel
# pip 升级
python -m pip install --upgrade pip
pip install check-wheel-contents
打包
python setup.py bdist_wheel
打包后目录
├── build
│ ├── bdist.linux-x86_64
│ └── lib
│ └── rldemopkg # 导包时的包名
│ ├── __init__.py
│ └── sdktest_lh.py # 模块名
├── dist
│ └── sdktest_lh-0.0.1-py3-none-any.whl # wheel文件
├── LICENSE
├── README.md
├── rldemopkg
│ ├── __init__.py
│ └── sdktest_lh.py
├── sdktest_lh.egg-info
│ ├── dependency_links.txt
│ ├── PKG-INFO
│ ├── SOURCES.txt
│ └── top_level.txt
└── setup.py
这里着重强调 项目包名最好和模块名一致。
参考:
https://www.mssqltips.com/sqlservertip/6802/create-wheel-file-python-package-distribute-custom-code/