首页 > 编程知识 正文

python程序打包成安装包,python项目打包

时间:2023-05-03 13:11:45 阅读:19128 作者:3465

一.简要介绍

python经常使用第三方软件包作为工具,包括爬虫分析工具和web请求工具。 之所以将其打包,是为了把技术和业务分开,二是因为可以做很多事情

项目的多平台共享。 python使用的第三方工具包基本上是从Pypi.org下载的。 了解如何创建自己的包,然后将其上传到Pypi并将其用作工具。

Pypi软件包whl文件

首先,必须确保需要打包的package包含自述文件. MD、许可证[不必要]和setup/py文件。 三个分别是手册、许可证和

python setuptools用于安装此软件包的构建脚本。

2.1 setup.py

setup.py包含与package相对应的信息,包括package的名称、版本和作者,以及应该包含在package中的程序文件和数据。

以下是setup.py的示例文件。

导入操作系统

from setup tools导入设置,find_packages

path=OS.path.abspath (OS.path.dirname ) __file_ )

try:

withopen(OS.path.join ) path,' README.md ' ) ) as f:

long_description=f.read (

except Exception as e:

long _ description=' customizeoktacli '

设置(

name='okta-cmd ',

版本='0.1.0',

keywords=('pip '、' okta '、' cli '、' cmd '、' steven ',

描述=' okta CLI ',

long _ description=long _ description,

long _ description _ content _ type=' text/markdown ',

python_requires='=3.5.0',

许可证=' MIT许可证',

URL=' https://github.com/Steven Qiang/okta-cmd ',

author='steven ',

author _ email=' Qiang Gao7@ Gmail.com ',

packages=find_packages (

include_package_data=True,

install_requires=['requests ',' click'],

平台=' any ',

脚本=[ ],

entry_points={

' console_scripts': [

' okta-cmd=oktacmd:main_cli '

]

}

name:此包的名称可以由字母、数字和-组成。 请注意,此名称与已经上载到pypi.org的其他项目不同

版本:是软件包的发布版本,可以直接写在这里,也可以从其他地方引用

author: author可以用于指定此包的作者信息

author_email:这也是指定该包的作者信息

描述:当前包的简短总结

long_description:是当前package的详细说明。 此详细说明显示在Python Package Index上的上一项目标主页上

long_description _ content _ type :指定long _ description内容的格式。 在当前情况下为markdown

url:是当前package的主页链接。 在大多数情况下,这是指向GitHub、GitLab、Bitbucket或其他代码存储服务的链接

packages:是一组可以导入的python软件包文件,它们应该包含在分发软件包文件(distribution package )中。 您可以在此手动罗列所有文件。

或者,find_packages ) )函数自动包含所有python软件包文件和子软件包文件。

python_requires: python依赖懒惰版

classifiers:指定当前包的其他元信息(元数据)。 例如,当前包兼容的python版本和操作系统、当前包提供的功能类型、

当前package许可证等。 必须始终包括当前package支持的python版本、操作系统和许可证。 请注意在此定义的classifiers关键字

所含信息必须符合PyPI的规定。

install_requires:指定当前包依赖的其他python类库。 这些指定的python类库将在安装本package时一起安装。

platforms:程序适用的软件平台列表

keywords:程序的关键字列表

include_package_data:是否自动包含软件包中所有受版本控制的(cvs/svn/git )数据文件? 默认True

entry_points:用于支持cli命令的自动生成

使用上述配置信息,将生成okta-cmd命令,并可直接使用。 它由entry_points组成。

目录结构:

许可证

README.md

oktacmd

)__init_.py

() cli.py

() common.py

() main.py

() okta.py

setup.py

( setup.sh

生成分组:

1 .安装最新版的setuptools和wheel

python3- mpipinstall---- user---- upgradesetuptoolswheel

使用sdist构建源分发包

python setup.py sdist bdist_wheel

请注意,这里是固定命令。 (请确保setup.py存在于当前路径下。 )

运行此命令后,请确保生成的dist/文件夹下存在相应的. whl和. tar.gz文件。 其中. tar.gz文件是我们python package的源文件文档。

. whl是软件包(构建分发)。 较新版本的pip首先尝试安装软件包,但如果失败,则尝试使用软件包进行安装。

3 .将项目上传到PyPI

首先注册PyPI的帐户,然后选择https://pypi.org/

安装最新版本的twine

python3- mpipinstall---- user---- upgrade twine

3 .项目上传

使用twine上传项目时,必须输入相应的PyPI帐户和密码。

python3- m twine上传光盘/*

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。