pip打包setup.py样本

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/

https://pypi.org/classifiers/

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("")即可方便地获取当前目录的文件

Author: bkdwei