上传到 PyPi 返回无效的 URI
Posted
技术标签:
【中文标题】上传到 PyPi 返回无效的 URI【英文标题】:uploading to PyPi returning Invalid URI 【发布时间】:2020-09-24 04:36:08 【问题描述】:我正在尝试将我的包上传到 PyPi 并不断收到此错误:
HTTPError: 400 Client Error: 'github.com/Palashio/Libra' is an invalid value for Home-Page. Error: Invalid URI See https://packaging.python.org/specifications/core-metadata for url: https://test.pypi.org/legacy/
我正在使用本教程:https://packaging.python.org/tutorials/packaging-projects/#uploading-your-project-to-pypi
当我运行这一行时会发生这种情况:
python3 -m twine upload --repository testpypi dist/*
输入 __ token __ 作为用户名,输入 test.pypi.org 生成的令牌作为密码
这是我的目录包含的内容:build、dist、reponame(其中包含所有包文件)、reponame.eggs-info、LICENSE.txt、README.md、setup.cfg 和 setup.py
这就是我的 setup.py 文件的样子:
import setuptools
with open("README.md", "r") as fh:
long_description = fh.read()
setuptools.setup(
name="libradocs", # Replace with your own username
version="0.0.0",
author="username-from-test.pypi",
author_email="author@example.com",
description="A small example package",
long_description=long_description,
long_description_content_type="text/markdown",
homepage="https://github.com/Palashio/Libra",
packages=setuptools.find_packages(),
classifiers=[
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
],
python_requires='>=3.6',
)
在 reponame 文件夹中,我有 5 个不同的文件夹,具有我希望用户能够使用的不同文件和功能。我在 Libra 的根目录和每个子文件夹中都放置了空白的 init.py 文件。
【问题讨论】:
你的错误没有报错中的https
。这是正确的还是您在删除身份时忘记复制它?
是的,我忘了。我只是把真实的信息放回去了。
你的仓库是私有的吗?它必须是公开的。
我作为主页包含的链接= github.com/Palashio/Libra 应该会将您发送到公共回购。
确实如此。很酷的图书馆,如果答案有帮助,请告诉我。
【参考方案1】:
homepage
参数已被弃用。用url
替换它,你应该会很好。 docs 中的示例也遵循此格式。
【讨论】:
我刚试过;得到同样的错误。也许这是 init.py 文件的放置问题?我有一个主 libradocs 文件夹,其中包含我上面提到的所有信息的另一个 libradocs 文件夹。在里面我有一个 init.py 文件,然后是 5 个文件夹,每个文件夹都有自己的空白 init.py 文件。 @PalashShah 有趣.. 不,这不重要。我的包中充满了头文件,而我的实际模块是嵌套的。一些 repos 也链接到一个网站。 Pip 不解析 URL,它是供用户访问文档的。您可以尝试将整个 URL 小写吗? 同样的结果。私聊? @PalashShah SO 建议不要使用 PM。我相信这只是一个愚蠢的错误。我会休息一下,然后回来逐行检查文档中的设置。请将您的结果发布给未来的成员。 我只是复制了文档并修改了名称和网址。不知道哪里出了问题。【参考方案2】:刚刚开始工作。确保您的名称与您在 test.pypi 在线站点上创建的令牌名称相同。还要确保你没有创建一个已经存在的 PyPi 包。
【讨论】:
以上是关于上传到 PyPi 返回无效的 URI的主要内容,如果未能解决你的问题,请参考以下文章
Swift - Alamofire 返回“无效的请求格式”。当我尝试将文件上传到 pinata
Action.Picker 返回无效/错误的 Uri(如何从多个选取的图库 img 中获取路径或字节 [])
$_SERVER['REQUEST_URI'] 不返回服务器名