由麻线发布的python包不会出现在存储库中



我正在尝试将我的python包发布到私有存储库。我遵循官方指南https://packaging.python.org/en/latest/tutorials/packaging-projects/一切似乎都很好。这是终端输出:

(venv) C:UsersxxxPycharmProjectsmy_package>twine upload --config-file .pypirc -r pypi dist/*
Uploading distributions to http://xxx/pypi/simple/
Enter your password:
Uploading my_package-0.1-py3-none-any.whl
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 8.03k/8.03k [00:01<00:00, 4.83kB/s]
Uploading my-package-0.1.tar.gz
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 7.40k/7.40k [00:00<00:00, 10.3kB/s]

但发布后,我无法在存储库中看到我的包,无论是在浏览器中打开url,还是通过pip安装它。

我注意到.whl在名称中带有下划线,而.tar.gz则带有破折号。这可能是问题所在吗?我怎样才能找出问题所在?

当然,包是上传到私有存储库还是公共存储库并不重要。你甚至可以不上传到Git发布它。

你可以在的4个基本步骤中做到这一点

  • 创建一个python包
  • 写入setup.py
  • 生成程序包
  • 通过twine发布到PyPI

创建一个python包

在下面的示例中,demoverflow文件夹包含__init__.py,这使demoverflow成为一个python包。

└── demoverflow
├── demo.py
└── __init__.py
# demo.py
class Demo:
...

__init__.py导入Demo,以便能够从demoverflow(如:from demoverflow import Demo(导入

# __init__.py
from demo import Demo

写入setup.py

from setuptools import setup, find_packages
setup(
name="demoverflow",
version="0.0.1",
author="Firstname Lastname",
author_email="<demoverflow@support.com>",
description="My demo package",
packages=find_packages(),
install_requires=[],
keywords=['python'],
classifiers=[
"Development Status :: 1 - Planning",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Operating System :: Unix",
"Operating System :: MacOS :: MacOS X",
"Operating System :: Microsoft :: Windows",
]
)

注意:在构建包之前,您应该具有以下文件结构

├── demoverflow
│   ├── demo.py
│   └── __init__.py
└── setup.py

所以setup.py和你的包裹应该是邻居

生成程序包

如果您已经安装了setuptools,那么可以运行以下命令来生成dist文件夹

python3 setup.py sdist bdist_wheel

发布到PyPI

此命令将需要您的PyPI帐户的用户名和密码

python3 -m twine upload dist/*

相关内容

  • 没有找到相关文章

最新更新