我已经看到了这个答案,但是How to Publish to PyPI with Azure-Pipelines and Poetry应该是在凭据生成的地方,当我转到Connect to Feed
> Python
时,看不到相同的选项。我只看到pip
和twine
,它们都显示了如何进行未经身份验证的推送。
我有一个Azure DevOps Artifacts Python Feed设置,我是该管理员的管理员。我想使用poetry
将正在处理的程序包发布或推送到该Feed中。但是,当提示输入凭据时,我使用我的电子邮件和密码登录,但我认为这些密码不正确。我收到401未经授权。所以这是我正在做的步骤
我创建了项目
poetry new phil_hello_world --src
然后我在src/phil_hello_world/__init__.py
中添加了一些样板代码
__version__ = '0.1.0'
def hello_world():
"""Hello World Function
"""
print('Hello, World!')
然后,我能够构建和安装该软件包,并在IDLE和其他一些脚本中使用它。
poetry build
因此,问题出在正确设置我的Azure DevOps Python Artifact Feed设置。他们建议使用点子或麻线,但是我正尝试使用它,所以请耐心等待。
首先,我设置了笔迹,以便诗歌对此有所了解。我们将进行本地配置。
poetry config repostiories.azure-python-feed https://pkgs.dev.azure.com/myOrg/Project/_packaging/azure-python-feed/pypi/upload
然后我尝试使用以下方法向上推包装:
poetry publish -r azure-python-feed --build
然后我收到401未经授权的错误。
因此,我尝试通过以下方式使用我的登录信息:
poetry config http-basic.azure-python-feed ${USER_EMAIL} ${USER_LOGIN_PASS}
buuuuut,我仍然收到401未经授权。难道我做错了什么?我确实确保添加了“连接我”弹出窗口中列出的推荐程序包。
poetry add twine keyring artifacts-keyring
poetry install
答案 0 :(得分:1)
要缩小问题范围,您可以尝试以下各项:
Square Root Decomposition
创建新的PAT,然后重试。Full access
poetry publish -u $(username) -p $(password) ...
可以是任何字符,但不能为空。请记住,也要使用$(username)
选项来定义您的存储库。