我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python如何实现在PyPI上发布自定义软件包

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python如何实现在PyPI上发布自定义软件包

本篇内容介绍了“Python如何实现在PyPI上发布自定义软件包”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1. 引言

在Python中我们经常使用pip来安装第三方Python软件包,其实我们每个人都可以免费地将自己写的Python包发布到PyPI上,供他人来通过pip进行安装。

2. 创建PyPI账号

网址: https://pypi.org/

我们可以通过上面的链接在PyPI官网免费创建一个帐户。

我们需要先创建一个帐户,然后才能发布测试包。

3. 创建包名

我们可以发布任意我们想要定义的包名,只要和以前发布过的包没有重名过。我们可以快速在网站PyPI上检查是否有同名包。为了方便示例,我们使用aiway来作为示例的包名。

4. 按照如下格式组织包

Python如何实现在PyPI上发布自定义软件包

需要注意的是我们可以使用任意我们想要发布的包名来替换上述aiway包名。

上述脚本 class="lazy" data-src/aiway/__init__.py内容如下:

def function():    print("hello from class="lazy" data-src/aiway/__init__.py")

脚本 class="lazy" data-src/aiway/test.py内容如下:

def testfunction():    print("hello from class="lazy" data-src/aiway/test.py")

脚本LICENSE: 我们这里留白

脚本README.md: 这里可以描述包的用途

脚本pyproject.toml,内容如下:

[build-system]requires = ["setuptools>=42"]build-backend = "setuptools.build_meta"

我们必须创建该文件

脚本 setup.py,内容如下:

from time import timeimport setuptoolswith open("README.md", "r", encoding="utf-8") as fh:    long_description = fh.read()setuptools.setup(    name="aiway",    version="0.0.0",    author="Your Name Goes Here",    author_email="youremail@gmail.com",    description="A test package",    long_description=long_description,    long_description_content_type="text/markdown",    url="https://github.com/pypa/sampleproject",    project_urls={        "Bug Tracker": "https://github.com/pypa/sampleproject/issues",    },    classifiers=[        "Programming Language :: Python :: 3",        "License :: OSI Approved :: MIT License",        "Operating System :: OS Independent",    ],    package_dir={"": "class="lazy" data-src"},    packages=setuptools.find_packages(where="class="lazy" data-src"),    python_requires=">=3.6",)

5. 安装 Build & Twine

接着我们通过pip来安装我们的依赖包,命令如下:

pip install build twine

我们需要用到上述两个包来将我们的测试包推送到PyPI。安装过程如下:

Python如何实现在PyPI上发布自定义软件包

6. 构建测试包

接着我们来编译我们的测试包,命令如下:

python -m build

在将包上载到PyPI之前,我们需要首先使用build构建它。上述命令的输出如下:

Python如何实现在PyPI上发布自定义软件包

上述命令运行完成后,我们将会得到目录dist 以及 格式为 <package-name>.egg-info的包。如下所示:

Python如何实现在PyPI上发布自定义软件包

7. 上传测试包

接着我们使用以下命令将包上传,如下所示:

python -m twine upload dist/*

包twine用来将我们的测试包上传至PyPI。上述命令执行过程中需要输入我们注册的网站的用户名和密码。如下所示:

Python如何实现在PyPI上发布自定义软件包

同时我们可以在网站上看到我们上传的包,如下:

Python如何实现在PyPI上发布自定义软件包

Python如何实现在PyPI上发布自定义软件包

如果我们只是更新已经存在的包的版本,我们可以使用如下命令:

python -m twine upload dist/* --skip-existing

同时我们可以添加调试标志--verbose,来检查上述命令执行过程中的出错信息,如下:

python -m twine upload dist/* --skip-verbose

“Python如何实现在PyPI上发布自定义软件包”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python如何实现在PyPI上发布自定义软件包

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python如何实现在PyPI上发布自定义软件包

本篇内容介绍了“Python如何实现在PyPI上发布自定义软件包”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 引言在Python中我们
2023-07-02

jQuery如何在元素上触发自定义事件?

如何使用jQuery触发自定义事件简介使用jQuery触发自定义事件可以实现以下目的:当特定条件满足时通知页面元素。创建可重用的事件处理程序。添加自定义行为。触发方法有三种触发自定义事件的方法:trigger()方法:触发特定元素上的事件。on()方法:监听并触发自定义事件。$.event.trigger()方法:触发页面任何元素上的事件。传递数据触发自定义事件时,可以通过数据对象传递信息。创建可重用事件处理程序通过在事件名称中使用命名空间,可以创建可重用事件处理程序来防止冲突。
jQuery如何在元素上触发自定义事件?
2024-04-02

elementui使用el-upload组件如何实现自定义上传

这篇文章主要介绍了elementui使用el-upload组件如何实现自定义上传,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-13

phpcms模板中如何自定义页面布局和样式?(在phpcms模板中,如何实现页面布局和样式的自定义?)

在PHPCMS模板中自定义页面布局和样式涉及创建自定义布局模板和样式表。布局模板定义页面区域,例如头部、内容和页脚。样式表包含CSS规则,用于更改元素的样式。PHPCMS还提供了一个主题选项面板,允许您通过用户界面调整某些模板设置。通过遵循这些步骤,您可以轻松地调整模板的外观和感觉,以满足您的特定需求。
phpcms模板中如何自定义页面布局和样式?(在phpcms模板中,如何实现页面布局和样式的自定义?)
2024-04-02

如何使用Python+selenium实现趣头条的视频自动上传与发布

这篇文章主要为大家展示了“如何使用Python+selenium实现趣头条的视频自动上传与发布”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用Python+selenium实现趣头条的视频
2023-06-22

如何在Bokeh中实现自定义的交互式回调逻辑,不依赖于Python服务器

在Bokeh中实现自定义的交互式回调逻辑,不依赖于Python服务器,可以通过使用JavaScript回调来实现。Bokeh提供了CustomJS模块,可以在JavaScript中定义交互式回调逻辑。下面是一个简单的示例,演示如何在Bok
如何在Bokeh中实现自定义的交互式回调逻辑,不依赖于Python服务器
2024-05-21

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录