PipAuthenticate@1 - Python pip 身份验证 v1 任务
使用此任务为安装 Python 分发版的 pip
客户端提供身份验证。
语法
# Python pip authenticate v1
# Authentication task for the pip client used for installing Python distributions.
- task: PipAuthenticate@1
inputs:
# Feeds and Authentication
#artifactFeeds: # string. My feeds (select below).
#pythonDownloadServiceConnections: # string. Feeds from external organizations.
#onlyAddExtraIndex: false # boolean. Don't set primary index URL. Default: false.
输入
artifactFeeds
- 我的源 (选择下面的)
string
.
指定要在组织中进行身份验证的源。
onlyAddExtraIndex
- 不要设置主索引 URL
boolean
. 默认值:false
。
如果此任务设置为 true
,则不会将任何源设置为主索引 URL。 所有配置的源/终结点都将设置为额外的索引 URL。
任务控件选项
除任务输入外,所有任务都有控制选项。 有关详细信息,请参阅 控制选项和常见任务属性。
输出变量
无。
备注
为用于安装 Python 分发版的 pip
客户端提供身份验证。
应在管道中何时运行此任务?
必须先运行此任务,然后才能使用 pip 将 Python 分发下载到经过身份验证的包源(如 Azure Artifacts)。 没有其他订购要求。 多次调用此任务不会堆叠凭据。 每次运行任务都会清除以前存储的任何凭据。
我的代理位于 Web 代理后面。 PipAuthenticate 是否会设置 pip 以使用我的代理?
否。 虽然此任务本身将在 代理配置为使用的 Web 代理后面工作,但它不会将 pip 配置为使用代理。
为此,可以:
- 将环境变量
http_proxy
和https_proxy
(可选)no_proxy
设置为代理设置。 有关详细信息 ,请参阅 Pip 官方指南 。 这些是常用的变量, (其他非 Python 工具(例如 curl) )也可以使用。注意
http_proxy
和no_proxy
变量在 Linux 和 Mac 操作系统上区分大小写,必须为小写。 尝试使用 Azure Pipelines 变量设置环境变量将不起作用,因为它将转换为大写。 而是在自承载代理的计算机上设置环境变量,然后重新启动代理。 - 使用
proxy
密钥将代理设置添加到 pip 配置文件文件。 - 使用
--proxy
命令行选项以 格式[user:passwd@]proxy.server:port
指定代理。
我的管道需要访问其他项目中的源
如果管道在与托管源的项目不同的项目中运行,则必须设置另一个项目以授予对生成服务的读/写访问权限。 有关更多详细信息 ,请参阅 Azure Pipelines 中的包权限 。
示例
从 Azure Artifacts 源下载 Python 分发版,而无需咨询官方 Python 注册表
在此示例中,我们将设置从专用 Azure Artifacts 源下载的身份验证。 身份验证任务创建下载分发版所需的环境变量PIP_INDEX_URL
PIP_EXTRA_INDEX_URL
。 任务使用任务为提供的项目源生成的身份验证凭据设置变量。 HelloTestPackage
必须存在于 或 myTestFeed2
中myTestFeed1
;否则安装将失败。
对于与管道运行所在的项目不同的项目范围的源,必须手动为项目和源授予对管道项目生成服务的访问权限。
- task: PipAuthenticate@1
displayName: 'Pip Authenticate'
inputs:
# Provide list of feed names which you want to authenticate.
# Project scoped feeds must include the project name in addition to the feed name.
artifactFeeds: 'project1/myTestFeed1, myTestFeed2'
# Use command line tool to 'pip install'.
- script: |
pip install HelloTestPackage
咨询官方 Python 注册表,然后从 Azure Artifacts 源下载 Python 分发版
在此示例中,我们将设置从专用 Azure Artifacts 源下载的身份验证,但首先咨询 pypi 。 身份验证任务创建一个环境变量 PIP_EXTRA_INDEX_URL
,其中包含下载分发版所需的身份验证凭据。 HelloTestPackage
仅当 pypi 中不存在经过身份验证的源时,才会从该源下载该源。
对于与管道运行所在的项目不同的项目范围的源,必须手动为项目和源授予对管道项目生成服务的访问权限。
- task: PipAuthenticate@1
displayName: 'Pip Authenticate'
inputs:
# Provide list of feed names which you want to authenticate.
# Project scoped feeds must include the project name in addition to the feed name.
artifactFeeds: 'project1/myTestFeed1, myTestFeed2'
# Setting this variable to "true" will force pip to get distributions from official python registry first and fallback to feeds mentioned above if distributions are not found there.
onlyAddExtraIndex: true
# Use command line tool to 'pip install'.
- script: |
pip install HelloTestPackage
从其他专用 Python 服务器下载 Python 分发版
在此示例中,我们将设置从外部 Python 分发服务器下载的身份验证。 为外部 服务创建 pip 服务连接 条目。 身份验证任务使用服务连接创建环境变量 PIP_INDEX_URL
,其中包含下载分发版所需的身份验证凭据。 HelloTestPackage
必须存在于服务连接中 pypitest
;否则安装将失败。 如果希望首先查阅 pypi ,请将 设置为 onlyAddExtraIndex
true
。
- task: PipAuthenticate@1
displayName: 'Pip Authenticate'
inputs:
# In this case, name of the service connection is "pypitest".
pythonDownloadServiceConnections: pypitest
# Use command line tool to 'pip install'.
- script: |
pip install HelloTestPackage