使用 Python-Poetry 将包发布到 Azure DevOps Artifacts
Publishing packages to Azure DeveOps Artifacts using Python-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。他们推荐使用 pip 或 twine,但我正在尝试使用它,所以请耐心等待。
首先,我设置了存储库,以便 Poetry 了解它。我们将进行本地配置。
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 Unauthorized。难道我做错了什么?我确实确保添加了“连接我”弹出窗口中列出的推荐包。
poetry add twine keyring artifacts-keyring
poetry install
要缩小问题范围,您可以尝试以下项目:
- 尝试用
Full access
创建一个新的 PAT,然后再试一次。
- 尝试运行命令
poetry publish -u $(username) -p $(password) ...
$(username)
可以是任何内容,但空白除外。请记住还要使用 -r
选项来定义您的存储库。
背景
我已经看到了这个答案,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。他们推荐使用 pip 或 twine,但我正在尝试使用它,所以请耐心等待。
首先,我设置了存储库,以便 Poetry 了解它。我们将进行本地配置。
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 Unauthorized。难道我做错了什么?我确实确保添加了“连接我”弹出窗口中列出的推荐包。
poetry add twine keyring artifacts-keyring
poetry install
要缩小问题范围,您可以尝试以下项目:
- 尝试用
Full access
创建一个新的 PAT,然后再试一次。 - 尝试运行命令
poetry publish -u $(username) -p $(password) ...
$(username)
可以是任何内容,但空白除外。请记住还要使用 -r
选项来定义您的存储库。