Azure DevOps Server 的连接源(Artifacts):五、python包管理pip和twine
1. 安装artifacts-keyring
参考:https://pypi.org/project/artifacts-keyring
artifacts-keyring是程序包keyring的扩展,它为用户连接Azure DevOps Server的连接源提供认证服务。
用户使用pip或者twwin连接Azure DevOps Server的Artifacts,都需要使用这个组件。
安装artifacts-keyring的过程与其他程序包一样,使用Install命令:
pip install artifacts-keyring
2. 修改用户配置文件(c:\users\devservers\pip.ini)
这个文件是Pip的用户配置文件,针对用户的配置信息都保存在这个文件中;
但是需要注意,安装完成pip后,默认不会创建这个文件,而pip连接源保持系统默认的 pypi.org ;当我们需要修改默认连接源时,我们可以自己创建这个文件,并将下面的内容添加到连接源中:
[global] timeout=9999 index-url=http://ads2/DefaultCollection/_packaging/a1/pypi/simple/ trusted-host=ads2
3. 创建令牌,运行安装命令
3.1 示例:下载最新版本Django
例如,我们需要从DevOps Server中安装Django框架;
- 账户密码:
当pip用户第一次连接到DevOps Server时,系统提示用户名,可以输入DevOps Server的连接源;密码是之前我们创建的令牌;注意,使用鼠标右键输入令牌时,我们看不到任何输入信息,这是正常的,输入完成后点击回车既可以; - 保存令牌:
pip工具再次提示是否保存认证信息(Save credential to Keyring?),确认即可,下次就不需要再次输入令牌了。
pip install django
安装成功以后,我们可以在Artifacts的连接源中查看到已经缓存的python程序包,如下图;
一旦DevOps Server缓存了pip程序包以后,其他用户安装程序包就不需要再从公网上去下载,速度非常快。
示例:下载指定版本的Django
pip install django==1.11.7
3. 在虚拟环境virtualenv中下载python包
安装virtualenv
pip install virtualenv
软件安装的目录在:C:\Users\devservice\AppData\Local\Programs\Python\Python310\Lib\site-packages
4. 常见问题
下载超时
DevOps Server只能从国外的pypi.org下载包,由于网速的原因,导致超时,如下图:
解决方案:
在用户目录下的配置文件(c:\users\devservers\pip.ini)中添加timeout配置项,如下:
[global] timeout=9999
index-url=http://ads2/DefaultCollection/_packaging/a1/pypi/simple/ trusted-host=ads2
5. 相关文章
- Azure DevOps Server 的连接源(Artifacts):一、概述
- Azure DevOps Server 的连接源(Artifacts):二、nuget包管理
- Azure DevOps Server 的连接源(Artifacts):三、从Artifacts中下载Nuget包
- Azure DevOps Server 的连接源(Artifacts):四、python基础(Django、Flask)
- Azure DevOps Server 的连接源(Artifacts):五、python包管理pip和twine
- Azure DevOps Server 的连接源(Artifacts):六、发布python程序(Twine pip)
- Azure DevOps Server 的连接源(Artifacts):七、NPM 基础知识
- Azure DevOps Server 的连接源(Artifacts):八、 npm发布和安装包
- Azure DevOps Server 的连接源(Artifacts):九、vue示例和自动打包
如果需要,你还可以从微软Azure DevOps Server 的在线文档,查询更多的权威资料,也欢迎通过下面的联系方式与我沟通,相互学习,相互提高!
https://www.cnblogs.com/danzhang
Azure DevOps MVP 张洪君