当前位置: 首页 > 编程笔记 >

Python上载到PyPI

陆星文
2023-03-14
本文向大家介绍Python上载到PyPI,包括了Python上载到PyPI的使用技巧和注意事项,需要的朋友参考一下

示例

一旦您setup.py的功能完全正常(请参阅“简介”),就很容易将包上传到PyPI。

设置一个.pypirc文件

该文件存储登录名和密码以验证您的帐户。它通常存储在您的主目录中。

# .pypirc文件

[distutils]
index-servers =
  pypi
  pypitest

[pypi]
repository=https://pypi.python.org/pypi
username=your_username
password=your_password

[pypitest]
repository=https://testpypi.python.org/pypi
username=your_username
password=your_password

twine用于上传软件包更安全,因此请确保已安装。

$ pip install twine

注册并上传到testpypi(可选)

注意:PyPI不允许覆盖已上传的程序包,因此,谨慎的做法是先在专用测试服务器(例如testpypi)上测试您的部署。将讨论此选项。在上传之前,请考虑软件包的版本控制方案,例如日历版本控制或语义版本控制。

登录或在testpypi创建一个新帐户。仅第一次需要注册,尽管多次注册无害。

$ pythonsetup.pyregister -r pypitest

在包的根目录中:

$ twine upload dist/* -r pypitest

您的包裹现在应该可以通过您的帐户访问了。

测验

创建一个测试虚拟环境。尝试pip install从testpypi或PyPI打包。

# 使用virtualenv
$ mkdir testenv
$ cd testenv
$ virtualenv .virtualenv
...
$ source .virtualenv/bin/activate
# 来自testpypi的测试
(.virtualenv)  pip install --verbose --extra-index-url https://testpypi.python.org/pypi package_name
...
# 或从PyPI测试
(.virtualenv) $ pip install package_name
...

(.virtualenv) $ python
Python 3.5.1 (default, Jan 27 2016, 19:16:39)
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import package_name
>>> package_name.foo()
100

如果成功,则您的软件包至少不可导入。您也可以考虑在最终上传到PyPI之前测试API。如果您在测试过程中打包失败,请不要担心。您仍然可以修复它,重新上传到testpypi并再次测试。

注册并上传到PyPI

确保twine已安装:

$ pip install twine

登录或在PyPI创建一个新帐户。

$ pythonsetup.pyregister -r pypi
$ twine upload dist/*

而已!您的包裹现已上线。

如果发现错误,只需上传软件包的新版本。

文献资料

不要忘记为您的包装至少包括某种文档。PyPi采用默认格式语言reStructuredText。

自述文件

如果您的软件包没有太大的文档,请在README.rst文件中包括可以帮助其他用户的内容。文件准备好后,需要另一个文件告诉PyPi显示它。

创建setup.cfg文件,并将这两行放入其中:

[metadata]
description-file = README.rst

请注意,如果您尝试将Markdown文件放入包中,PyPi会将其读取为纯文本文件,而不进行任何格式设置。

发牌

通常,欢迎LICENSE.txt使用其中一个OpenSource许可证将文件放入您的软件包中,以告诉用户他们是否可以在商业项目中使用您的软件包,或者您的代码是否可与他们的许可证一起使用,这通常是非常值得的。

在TL; DR中以更易读的方式解释了一些许可证。

 类似资料:
  • 我试图使用两个成功部署的云函数和一个成功运行的云调度器来自动化向BigQuery上传JSON数据。运行云调度器后,数据会上传到云存储中,但不会上传到BigQuery。 下面是我的代码和JSON数据: 这就是我的JSON数据的样子: 请指教。

  • 我正在尝试将我使用创建的文档上传到Azure blob存储。在本地,我可以保存文件,并使用方法将文件从本地磁盘上传到Azure。但是,我想使用Azure Function将文件直接上传到Azure存储,关于如何从方法上传到Azure存储,有什么想法吗?保存方法需要path_or_stream

  • 问题内容: 是否可以将一个文件上传到一个网站的共享文档库 带有[Python OneDrive]的Microsoft SharePoint站点 软件开发包 ? 本文件说它应该 是(在第一句中),但我不能使它工作。 我可以通过Azure AD进行身份验证并上传到OneDrive文件夹, 但是当我试图上传到一个SharePoint文件夹时,我总是得到这个 错误: “类型异常”Microsoft.Ide

  • 我需要使用python从组织终端下的本地上传文件到AWS S3存储桶。因为我是大型机资源,所以我对python不太了解,但是,当我尝试阅读一些内容时,我知道boto3可以帮助我。有人能帮我开始吗?

  • 问题内容: Google App引擎文档指出,如果使用纯Python编写,则可以上传和使用第三方库。 为此,我需要采取什么步骤? 问题答案: 我所做的是在根目录中创建了一个名为fix_path.py的文件,如下所示: 然后,我创建了一个lib目录,并将模块放入其中。 例如,我使用WTForms。我的文件结构如下所示。 LIB wtforms fix_path.py somefile.py 当我准备

  • 我正在尝试将应用程序中的数组上载到Firestone。然而,它继续显示 使用无效数据调用了“firebaseError:function fieldvalue.arrayUnion()”。 这是我的代码: 请注意,数据库中还不存在数组“players”。