代码之家  ›  专栏  ›  技术社区  ›  Ed Harrod Darin Dimitrov

无法使用Twine上载到PyPi

  •  21
  • Ed Harrod Darin Dimitrov  · 技术社区  · 7 年前

    我试图使用以下命令将python包上载到PyPi:

    pip install -e .
    python setup.py bdist_wheel --universal
    twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
    

    我发现这个错误:

    HTTPError:403客户端错误:验证信息无效或不存在。对于url: https://upload.pypi.org/legacy/

    我还尝试了以下命令:

    twine upload dist/*
    twine upload --repository-url pypi dist/*
    twine upload --repository-url https://upload.pypi.org/legacy dist/*
    python setup.py bdist_wheel --universal upload
    

    用一个。pypirc文件位于运行命令的同一目录中,该目录是:

    [distutils]
    index-servers =
        pypi
        pypitest
    
    [pypitest]
    repository: https://testpypi.python.org/pypi/
    username: <username>
    password: <password>
    
    [pypi]
    repository: https://upload.pypi.org/legacy/
    username: <username>
    password: <password>
    

    但还是有人问我密码。 (在那里也创建了一个帐户后,也使用pypitest进行了尝试,但出现了相同的错误)

    我也尝试过这样做,但删除了存储库行。

    https://pypi.python.org/pypi?name=&version=1.0.0&:action=display 说包裹找不到

    我使用的用户名和密码与我成功登录时使用的相同 https://pypi.python.org/pypi?%3Aaction=login_form

    12 回复  |  直到 7 年前
        1
  •  11
  •   Ed Harrod Darin Dimitrov    4 年前

    编辑 :如果您正在使用 窗户 检查 my other suggestion

    我使用的帐户似乎有点错误。以下步骤为我解决了这个问题:

    1. 使用新帐户上载包 twine upload dist/*

    还要注意,测试pypi服务器 --repository-url https://test.pypi.org/legacy/ ,需要从live server创建其他帐户 --repository-url https://upload.pypi.org/legacy/

        2
  •  10
  •   Gru    3 年前

    当我们输入密码时,密码没有错,我认为这是一个错误。

    我使用 -u 用户名和 -p 直接输入密码,而不使用控制台提供的字段(默认设置)。

    我尝试在命令中运行此命令:

    twine upload -u YOUR-USERNAME -p YOUR-PASSWORD --repository-url https://test.pypi.org/legacy/ dist/*
    

    我在windows上运行该命令:

    command-picture

    这对我来说很管用。希望这会有所帮助。

        3
  •  7
  •   Lorem Ipsum    5 年前

    也许您会很幸运,测试帐户名不会被占用,您可以在测试中使用与生产中相同的命令。

        4
  •  6
  •   Ed Harrod Darin Dimitrov    4 年前

    另一种可能是复制和粘贴不起作用——当我尝试在命令行中粘贴密码时,它显示了这个错误,但当我手动键入密码时,它成功了。

    编辑 :这似乎是粘贴的已知问题 窗户 ,请参阅建议 https://pypi.org/help/#invalid-auth :

    如果您正在使用Windows并试图将密码或令牌粘贴到命令提示符或PowerShell中,请注意,Ctrl-V和Shift+Insert将无法工作。相反,您可以从窗口菜单中使用“编辑”>“粘贴”,或在“属性”中启用“使用Ctrl+Shift+C/V作为复制/粘贴”。这是一个 known issue 使用Python的getpass模块。

        5
  •  5
  •   thclark    6 年前

    我在下面遇到了这个问题 the pypi instructions for creating a new package . 该教程将引导您完成上传到他们的测试服务器的过程 ( --repository-url https://test.pypi.org/legacy/ ),我总是得到403分。

    --repository-url https://upload.pypi.org/legacy/ )我的证书很好用。很明显,他们的测试服务器和实时服务器之间的凭据存在一些差异,如果您遇到这个问题,这可能值得考虑。

        6
  •  2
  •   Ulf Aslak    6 年前

    我也有同样的问题。对我有效的是(1) 添加新电子邮件 ,验证并将其设为主要。

        7
  •  2
  •   Hanany Tolba    3 年前

    在Mac或Linux上 在终端上 cd~

    并添加您的信息:

    [服务器登录] 存储库: https://pypi.python.org/pypi 用户名:YourUserName here 密码:yourpasswordhere

        8
  •  1
  •   caxefaizan    4 年前

    手动输入密码。看起来很愚蠢,但对我来说很有效。

        9
  •  1
  •   ShifaT    4 年前

    • 我使用的是vs代码集成终端,它使用的是zsh而不是bash

    然后我使用我的系统终端,它对我来说很好。

    还要确保您已经配置了设置。py正确。

        10
  •  1
  •   diogo    4 年前

    已验证帐户 在具有凭据的PyPI和TestPyPI中( usr1 , pwd1 )和( usr2 , pwd2 )分别为 ~/.pypi :

    [distutils]
    index-servers=
        pypi
        testpypi
    
    [pypi]
    repository: https://upload.pypi.org/legacy/
    username: usr1
    password: pwd1
    
    [testpypi]
    repository: https://test.pypi.org/legacy/
    username: usr2
    password: pwd2
    

    构建包后,发布TestPyPI:

    twine upload --repository testpypi dist/*
    

    PyPI发布:

    twine upload --repository pypi dist/*
    
        11
  •  0
  •   Neuron MonoThreaded    3 年前

    嗯,我觉得这很愚蠢,但这里有一个低效的解决方案,我用来上传我的。
    在编辑器中键入类似的内容

    __token__
    yourTokenHere
    

    并使用将其粘贴在用户名字段上 Ctrl键 + 五、
    还有,我发现 + 五、

        12
  •  -1
  •   Muzaffar Seyed    3 年前

    我上传了一个项目,但当我在pypi网站上查看时,它并没有丢失自述。md文件。我不知道如何更新,所以我删除了该项目,但接受了一些警告。 最后,我添加了自述。md文件,并试图再次上传项目,但我得到了这个错误。所以,我前往pypi网站,完全删除了我上传的最后一个项目。之后我就可以用同一个帐号上传了。希望这样行