python打包指南

在项目的根目录里创建setup.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# -*- coding: utf-8 -*-
# author:navysummer
# email:navysummer@yeah.net
import shutil
 
import setuptools
from setuptools.command.install_scripts import install_scripts
 
__version__ = "0.0.0"
 
with open("README.md", "r") as fh:
    long_description = fh.read()
 
 
class InstallScripts(install_scripts):
 
    def run(self):
        setuptools.command.install_scripts.install_scripts.run(self)
 
        # Rename some script files
        for script in self.get_outputs():
            if script.endswith(".py"):
                dest = script[:-3]
                shutil.copy(script, dest)
 
 
setuptools.setup(
    # 包名
    name="navysummer",
    # 包的版本号
    version=__version__,
    # 包的作者
    author="navysummer",
    # 包的作者的邮箱
    author_email="navysummer@yeah.net",
    # 包的描述
    description="navysummer",
    # 包的详细描述
    long_description=long_description,
    # 包的详细描述内容的类型
    long_description_content_type="text/markdown",
    # 项目的地址
    url="https://github.com/navysummer",
    # 自动搜索项目目录里的包文件
    packages=setuptools.find_packages(),
    # 程序分类信息
    classifiers=[
        "Programming Language :: Python :: 3",
        "License :: OSI Approved :: MIT License",
        "Operating System :: OS Independent",
    ],
    # python版本要求
    python_requires='>=3.6',
    # 运行的平台
    platforms='any',
    # 项目依赖,会在安装包的同时安装包的依赖
    install_requires=[],
    # 可执行脚本
    scripts=['bin/navysummer.py'],
    # 可执行文件类处理器
    cmdclass={
        "install_scripts": InstallScripts
    }
 
)
 
"""
1、打包流程
打包过程中也可以多增加一些额外的操作,减少上传中的错误
 
# 先升级打包工具
pip install --upgrade setuptools wheel twine
 
# 打包
python setup.py sdist bdist_wheel
 
# 检查
twine check dist/*
 
# 上传pypi
twine upload dist/*
# 安装最新的版本测试
pip install -U lesscode-py -i https://pypi.org/simple
"""

  

posted @   NAVYSUMMER  阅读(44)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2021-12-04 希尔排序
2018-12-04 python json格式转xml格式
2018-12-04 python将xml转换成json数据
交流群 编程书籍
点击右上角即可分享
微信分享提示