首页 > 编程语言 >python打包指南

python打包指南

时间:2022-12-04 20:55:08浏览次数:37  
标签:指南 setuptools script python navysummer py install scripts 打包

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

# -*- 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
"""

  

标签:指南,setuptools,script,python,navysummer,py,install,scripts,打包
From: https://www.cnblogs.com/navysummer/p/16950748.html

相关文章

  • python字符串常用方法介绍,基于python3.10
     python字符串常用方法-目录:1、strip()、lstrip()、rstrip()2、removeprefix()、removesuffix()3、replace()4、split()、rsplit()5、join()6、upper()、lower()、capita......
  • Python——pygam库实现弹跳小球
    代码实现:importsys#导入sys模块importpygame#导入pygame模块pygame.init()#初始化pygamesize=width,height=700,500#设置窗口screen......
  • 优雅简单玩转python3异步并发
    在python3之后,随着async/await引入,异步调用以全新而便捷的方式让人眼前一亮。首先,尽量用async/await定义协程这里以使用aiohttp请求网络,async函数中,不要使用blockingio......
  • 进入python的世界_day44_前端——CSS的学习(边框、定位、浮动、溢出解决、堆叠等)
    一、CSS之调整边框1.边框#左border-left-width:30px;border-left-style:solid;border-left-color:coral;#上border-top-color:coral;border-top-width:30......
  • 零基础学python 第四章 序列的应用
    实例1 输出每日一贴importdatetimemot=["今天星期一:\n坚持下去不是因为我很坚强,而是因为我别无选择。","今天星期二:\n含泪播种的人一定能笑着收获。",......
  • 零基础学python 第三章 流程操作语句
    实例1判断输入的是不是黄蓉所说的数print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n")number=int(input("请输入您认为符合条件的的数:"))ifn......
  • python(8):python发送邮件
    邮件发送测试报告前置条件:开通QQ邮箱第三方登录,并拿到密码; 步骤1:编写测试代码,先发送一个文本的邮件在sample文件中编写线性代码:  步骤2:编写一个带附件的邮件......
  • python分布式框架celery(二)
    一、什么是Celery1.1、celery是什么Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列,同时也支持任务调度。Celery的架构由三......
  • Android Studio 生成 keystore 签名文件及打包验证流程
    前言Android应用必须进行数字签名才可以发布,也就是我们平时所说的使用证书打包然后上传市场,其中数字证书的私钥由应用开发者持有。生成签名的方式有很多种,今天我们来讲......
  • python(7):python连接mysql数据库并获取数据
    python连接mysql数据库下载pymysql:pipinstallpymysql编写代码:importpymysqlclassMysqlUtils:def__init__(self):self.conn_obj=pymysql.conne......