setup.py
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import setuptools
long_description= None
with open("kdPythonAPIViewer/README.md", "r",encoding="utf-8") as fh:
long_description = fh.read()
setuptools.setup(
name="kdPythonAPIViewer",
version="1.0.5",
author="bkdwei",
author_email="bkdwei@163.com",
maintainer="韦坤东",
maintainer_email="bkdwei@163.com",
description="an python module API viewer",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/bkdwei/kdPythonAPIViewer",
license="GPLv3+",
platforms="",
keywords="python API viewer",
package_data={"kdPythonAPIViewer":[“./*.ui”,”./README.md”,”./LICENSE”],},
data_files="",
# 需要安装的依赖
install_requires=[“PyQt5”],
packages=setuptools.find_packages(),
classifiers=[
"Development Status :: 2 – Pre-Alpha",
"Environment :: X11 Applications :: Qt",
"Intended Audience :: Developers",
"Natural Language :: Chinese (Simplified)",
"Topic :: Software Development :: Documentation",
"Programming Language :: Python :: 3",
" License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
"Operating System :: OS Independent",
],
# 添加这个选项,在windows下Python目录的scripts下生成exe文件
# 注意:模块与函数之间是冒号:
entry_points={
'console_scripts': [
'kdPythonAPIViewer=kdPythonAPIViewer.kdPythonAPIViewer:main'
],
}
)
参考资料
https://packaging.python.org/tutorials/packaging-projects/
http://blog.konghy.cn/2018/04/29/setup-dot-py/
参数说明
参数 | 说明 |
---|---|
name | 包名称 |
version | 包版本 |
author | 程序的作者 |
author_email | 程序的作者的邮箱地址 |
maintainer | 维护者 |
maintainer_email | 维护者的邮箱地址 |
url | 程序的官网地址 |
license | 程序的授权信息 |
description | 程序的简单描述 |
long_description | 程序的详细描述 |
platforms | 程序适用的软件平台列表 |
classifiers | 程序的所属分类列表 |
keywords | 程序的关键字列表 |
packages |
需要处理的包目录(通常为包含 __init__.py 的文件夹)
|
py_modules | 需要打包的 Python 单文件列表 |
download_url | 程序的下载地址 |
cmdclass | 添加自定义命令 |
package_data | 指定包内需要包含的数据文件 |
include_package_data | 自动包含包内所有受版本控制(cvs/svn/git)的数据文件 |
exclude_package_data | 当 include_package_data 为 True 时该选项用于排除部分文件 |
data_files | 打包时需要打包的数据文件,如图片,配置文件等 |
ext_modules | 指定扩展模块 |
scripts | 指定可执行脚本,安装时脚本会被安装到系统 PATH 路径下 |
package_dir | 指定哪些目录下的文件被映射到哪个源码包 |
requires | 指定依赖的其他包 |
provides | 指定可以为哪些模块提供依赖 |
install_requires | 安装时需要安装的依赖包 |
entry_points | 动态发现服务和插件,下面详细讲 |
setup_requires | 指定运行 setup.py 文件本身所依赖的包 |
dependency_links | 指定依赖包的下载地址 |
extras_require | 当前包的高级/额外特性需要依赖的分发包 |
zip_safe | 不压缩包,而是以目录的形式安装 |
打window的包
python setup.py bdist –formats=wininst
总结
创建快捷方式:在setup.py中,获取桌面路径,新建bat脚本即可。os.path.join(os.path.expanduser("~"), 'Desktop'),脚本里启动程序即可。
@echo off
start kdPythonAPIViewer
打包时,设置entry_points即可自动生成exe之类的可执行文件。
import 文件的时候,要加上包名,即使是本地的文件。
使用sys.path.append("")即可方便地获取当前目录的文件