首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python程序打包指南:手把手教你一步步完成

最近感兴趣想将开发的项目转成Package,研究了一下相关文章,并且自己跑通了,走了一下弯路,这里记录一下如何打包一个简单的Python项目,展示如何添加必要的文件和结构来创建,如何构建,以及如何将其传到...创建LICENSE 上传到Python索引的每个软件都必须包含许可证。这将告诉安装软件的用户他们可以使用上传软件的条款。...生成分发档案 下一步是为生成分发包。这些是上传到Python索引的存档,可以通过pip安装。...在这种情况下,本文的示例与任何平台上的Python兼容,因此只需要一个构建发行版。 上传分发档案 最后将打好的包上传到Python索引,可供其它人安装。...当准备好将真实包上传到Python索引时,可以像本教程中一样执行相同的操作,但有以下重要区别: 为选择一个难忘且独特的名称; 在https://pypi.org注册一个帐户,这是两个独立的服务器,

1.4K20

使用 setup.py 将 Python 库打包分发到 PyPI 踩坑指南

前段时间写了一个 django 的应用安装包打包上传到PyPI,由于是第一次打包分发,所以趁机研究了一下 Python 打包的相关注意事项。...如果仅仅执行 python setup.py sdist 命令,那么你打出来的是一个 xxx.tar.gz 的,可以理解为源文件,当你把这个包上传到 PyPI 之后,使用 pip install 进行安装的时候会另外执行一次...也就是说,如果你在上传到 PyPI 之前就执行 python setup.py sdist bdist_wheel 打包,那么会同时得到一个 tar.gz 和一个 whl 的,这个时候使用 pip install...我的回答是一起用,将两个文件一起上传到 PyPI,同时,在本地执行上传命令前应该先查看一下两个里面的内容是否缺少。 2、include_package_data 参数到底需不需要?...和 testpypi 了,建议每次上传先上传到 testpypi 然后本地安装验证之后再传到 pypi,上传命令分别是: # 上传到 pypi,-r 的默认参数也是 pypi twine upload

1.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

保姆教程:构建与发布Python

导读 2022年如何创建Python ?如何发布?这就是本文[1]所教您的。 1. 大纲 为了创建Python ,需要编写实现功能的代码,然后需要将其发布到 PyPI。...这个操作可以在Github仓库页面进行操作,然后再其拉取到本地。 6. 测试 现在我将尝试将空包上传到 test PyPI存储库 。...构建后,您可以尝试将其传到 TestPyPI: poetry build poetry publish -r testpypi 一旦你完成了,假设一切顺利,你的应该在 TestPyPI testpypi...现在你可以从 PyPI中获取extendedjson! PyPI 8.3. 测试 安装模块,导入它,退出 Python,然后卸载它: 9....总结 本文带您走过了一遍构建Python的全部过程,:创建项目,依赖管理,Git管理,打包,发布等。更加进阶的操作还有设置自动化测试和代码覆盖率等。

1.2K30

Python打包-setuptools

他还提供了自动查询程序,用来自动获取之间的依赖关系,并完成这些安装,大大降低了安装各种的难度,使之更加方便,将程序打包以后可以可以安装到自己的虚拟环境中,也可以上传到PyPI,这样非常方便大项目开发...可以使用参数 --universal, mfirstApp-0.0.1-py2.py3-none-any.whl,表明 wheel 同时支持 Python2 和 Python3使用 universal...使用 bdist\_wheel 再次打包后,我们可以使用 pip 安装本地 Python 的 site-packages 目录。..., PyPI 作为 Python 的 软件仓库,让所有人可以方便的上传和下载,以及管理三方库。...安装 twine虽然 setuptools 支持使用 setup.py upload 上传文件到 PyPI,但只支持 HTTP 被新的 twine 取代,同样的,需要先安装 twine: $ pip

1.1K20

使用pypi-server搭建简单的PyPI

pypiserver 是一个最基本的PyPI服务器实现, 可以用来上传和维护Python. 本文介绍 pypiserver 在Ubuntu的基本安装, 配置和使用. 1....~/packages 来保存Python, 同时监听8080端口来提供PyPI服务. 1.2 上传Python 此时, 在创建 ~/packages 目录后, 可以将Python包上传到此目录下....将分发包上传到 ~/packages 目录下, 接下来就可以访问 pypiserver Python包了. 1.3 安装 pypiserver Python安装和启动 pypiserver...远程上传项目 如果希望通过python setup.py upload命令将本地项目代码上传到PyPI服务器, 可以通过以下步骤来完成. 2.1 无密码上传项目 默认情况下, pypiserver...我们可以使用-P参数来修改: pypi-server -P /opt/pypiserver/packages 3.3 请求转发 当请求的Python, 在本地 pypiserver 没有找到时, 它会将请求转发到外部

1.5K20

使用pypi-server搭建简单的PyPI

pypiserver 是一个最基本的PyPI服务器实现, 可以用来上传和维护python. 本文介绍 pypiserver 在ubuntu的基本安装, 配置和使用. 1....~/packages 来保存Python, 同时监听8080端口来提供PyPI服务. 1.2 上传Python 此时, 在创建 ~/packages 目录后, 可以将Python包上传到此目录下....将分发包上传到 ~/packages 目录下, 接下来就可以访问 pypiserver Python包了. 1.3 安装 pypiserver Python安装和启动 pypiserver...远程上传项目 如果希望通过python setup.py upload命令将本地项目代码上传到PyPI服务器, 可以通过以下步骤来完成. 2.1 无密码上传项目 默认情况下, pypiserver...我们可以使用-P参数来修改: pypi-server -P /opt/pypiserver/packages 3.3 请求转发 当请求的Python, 在本地 pypiserver 没有找到时,

3.4K20

统计学习方法 Python

此示例使用相对最小的集: name 是的 分发名称。只要包含字母,数字 _ 和,就可以是任何名称 -。它也不能在 pypi.org 使用。...packages 是应包含在 分发包 中的所有 Python 导入 的列表。我们可以使用 自动发现所有和子不是手动列出每个。在这种情况下,列表将是 slm 因为它是唯一存在的。...生成分发档案 下一步是为 生成分发包。这些是上传到索引的档案,可以通过 pip 安装。...您需要做的第一件事是在 Test PyPI 注册一个帐户。Test PyPI 是用于测试和实验的索引的单独实例。这对于像我们不一定想要上传到真实索引的本教程这样的东西很棒。...pip 应该从 Test PyPI 安装,输出应该如下所示: python3 -m pip install --index-url https://test.pypi.org/simple/ --no-deps

99730

教你在几分钟内构建一个Python

README.md 这是的文档。它描述了是如何工作的 setup.py py文件是pip安装所必需的。此外,它还包含关于的元数据。请注意以下属性,名称和。...,现在我们的可以工作了,让我们继续进行下一个部分。 5 上传Python 使用PyPI可以快速上传新构建的。首先来看什么是PyPi。...PyPi代表Python索引(PyPi),它是Python编程语言的软件存储库。 所以现在要将我们的包上载到PyPI站点的测试版本,另外要确保pip安装过程是否正常,然后现在要上载到PyPI站点。...但首先,要与这些站点通信,您需要pip安装一个名为twine的库,使用: pip install twine 所以,安装twine后,输入以下代码先上传到TestPyPi: # Creating the.../test.pypi.org/simple/ b_dist 成功集成TestPyPi之后,现在让我们继续上载到主PyPi,在那里可以使用名直接进行pip安装,也可以公开使用。

51330

Python官方软件存储库遇到安全危机

Python官方软件存储库遇到安全危机 相信下载并使用开源软件一定是每个开发者的必备技能,毕竟站在巨人的肩膀看风景才能看得最远,然而,你使用的开源代码一定是安全的吗?...近日,一名安全研究人员发现,很多在Python官方软件存储库(PyPI)上下载了大约5,000次的软件竟然是假冒软件!同时这些假冒软件还暗含秘密代码,能在被感染机器安装加密软件。...因此在PyPI利用垃圾软件发起攻击的事件屡见鲜。...然后,他将他的代码上传到这些站点,并为它们提供了与214个软件非常相似的名称。 Tschacher的攻击并非恶意的,他的脚本也会为计算机提供一个警告,通知开发人员他们可能无意中安装了错误的软件。...由于Tschacher的行为是依赖于混淆,不是彻头彻尾的欺骗,来诱使人们安装他的冒牌软件,因此目前尚不清楚该实验是否违反了道德甚至法律界限。

47530

PyPI 中发现六个针对 Windows 用户的恶意软件

2023 年 3 月,研究人员在 PyPI 发现了 6 个旨在窃取 Windows 用户的应用程序凭据、个人隐私数据与加密钱包信息。...合法软件通常都会有与之关联的存储库,恶意软件为了隐藏代码则通常不会关联。执行后,恶意软件会收集敏感数据并将其发送到第三方 URL。...这些软件的开发者用户名都是相同的模式( Anne1337、Richard1337 等),每个账户都只上传了一个软件。...攻击代码植入在安装文件中,意味着攻击在软件安装过程中就已经开始了。...检索 Cookie PyPI 作为恶意软件的目标 PyPI 是一个被广泛使用的存储库,其上托管着数量惊人的 Python 软件

23330

实战教程:如何将自己的Python发布到PyPI

需要先再本地环境安装pip,然后如果要安装其他工具的话就使用指令: pip install 官方地址:https://pypi.org/ 一句话解释:如果你使用的是 Java...if __name__ == '__main__': test_print() 2.4 生成分发档案 下一步是为生成分发包。这些是上传到索引的档案,可以通过pip安装。...3.验证发布PYPI成功 上传完成了会显示success,我们直接可以在PyPI查看,如下: ? 您可以使用pip来安装并验证它是否有效。...创建一个新的virtualenv (请参阅安装以获取详细说明)并从TestPyPI安装python3 -m pip install --index-url https://test.pypi.org...至此,我们已经成功地将自己开发的Python程序发布到了PyPI,此时你,可以直接在你本地的环境通过pip命令安装示例中的package-mikezhou-talk这个包了。

2.6K30

Python for Excel》读书笔记连载2:为什么为Excel选择Python?(续)

PyPI代表Python索引(PythonPackage Index),是一个巨大的存储库,每个人(包括你!)都可以在其中上传开源Python,为Python添加额外的功能。 PyPI Vs....例如,为了更容易从Internet的源获取数据,可以安装Requests来访问一组功能强大但易于使用的命令。要安装它,可以使用Python的包管理器pip,它可以在命令提示符或终端上运行。...其中一个主要原因是,任何合理的都不仅依赖于Python的标准库,而且还依赖于同样托管在PyPI的其他开源。这些依赖关系可能再次依赖于子依赖关系等等。...pip递归地检查的依赖项和子依赖项,并下载和安装它们。pip还可以方便地更新,从而使依赖项保持最新。这使得坚持DRY原则变得更加容易,因为你不需要重新发明或复制/粘贴PyPI已有的内容。...事实,在下一章中,我将通过介绍托管的Jupyter笔记本,向你介绍如何在服务器运行Python代码。绝大多数服务器都运行在Linux,因为它是一个稳定、安全且经济高效的操作系统。

2.5K10

如何创建私有Python存储库

Pip可管理完整的列表及其相应的版本号,在不同的独立环境中促进整个组的精确复制。 PyPIPython索引)是一个用户提交的包公共存储库,它可以用pip install package来安装。...在Debian发行版,pip可以使用sudo apt install python-pip的apt包管理器进行安装。 本指南中使用Apache 2.4。...这是很好的文档实践,如果您计划将Python包上传到公共PyPI存储库,这将非常有用。 7. Python需要先压缩,然后才能在服务器上下载。...压缩python setup.py sdist 一个tar.gz文件将生成在~/linode_example/dist/中。 安装PyPI服务器 接下来,设置服务器以托管索引。...: mypassword 上传到官方Python索引是需要一个帐户的,尽管帐户信息字段可以留空。

4.4K30

在GitHub发布一个Python项目需要注意哪些

本篇介绍个人或企业在 GitHub 发布一个 Python 项目需要了解和注意哪些内容 如何配置setup.py 如何发布到PyPI 生成pydoc 版本号的选择 License的选择 配置setup.py...1.0.0-py3-none-any.whl 和 demo-1.0.0.tar.gz .whl 文件是用于执行 pip install dist/demo-1.0.0-py3-none-any.whl 将其安装到...pip install xxxx 什么是 PyPI PyPI 是 The Python Package Index 的缩写,意思是 Python 索引仓库,用来查找、安装和发布 Python 。...cd docs python -m pydoc -w ..\ # 生成全部文档 执行 python -m pydoc -b 可以在本地立即启动一个 web 页面来访问你 ......\Python38\Lib\site-packages\ 目录下所有 Libraries 文档。 ? 以 elasticsearch 文档为例 这些本地的 web 文档如何在外网进行访问呢?

1.3K40

关于加速 pip 安装的两点妙招。

pypi.python.org 是 Python 的官方第三方软件存储库,我们的 pip 其实就是从这个网站上下载我们需要的库,大佬们将写好的库打包上传到 pypi.python.org ,我们就使用...使用镜像 其实说到底,我们从 pypi.python.org pip 不稳定的原因还是因为网络不稳定。那我们换个想法,那是不是从网络比较稳定的服务器上下载就可以了呢?其实还真是这样。...下载到本地 这种方法是比较适合于项目,比如你克隆一个项目想在本地跑跑,你就得下载项目所需要的,你总不能运行的时候看到缺了哪个再去下载哪个吧,且不说累死累活的,你也不知道人家用的是哪个版本的啊,有时候同一个的不同版本会出现很多玄学问题...可以用如下的方法将系统已经安装安装列表导出到 requirements 文件: pip freeze > requirements.txt 碰到这种需要安装很多或者安装比较大的情况,一般考虑的是将先下载到本地...,然后从本地安装

1.2K20

NumPy 1.26 中文文档(五十二)

您可以使用 pip 安装调试会话中可能需要的 Python 依赖项。如果 pypi 没有调试版的依赖,您将需要从源代码构建依赖项,并确保您的依赖项也被编译为调试版本。...您可以使用 pip 安装您的调试会话可能需要的 Python 依赖项。如果 pypi 没有调试版的依赖,你需要从源代码构建这些依赖项,并确保你的依赖项也编译为调试版本。...您可以使用pip安装您在调试会话中可能需要的 Python 依赖项。如果在pypi没有调试版本的 wheel 可用,则需要从源代码构建依赖项,并确保您的依赖项也以调试构建。...您还需要一个 PyPI 令牌,最好将其保存在一个钥匙链。请参阅 twine 的 keyring 文档以了解如何做到这一点。...上传到 PyPI 使用 twine 将其传到 PyPI。最近的 PyPI 更改后需要一个最新版本的 twine,这里使用的是版本 3.4.1: $ cd ..

8510
领券