Azure DevOps Server 的连接源(Artifacts):六、发布python程序(Twine pip)

Azure DevOps Server 的连接源(Artifacts):一、概述 1. 什么是Artifacts连接源?Azure DevOps Server 中,Artifacts连接源是用于存储、管理和分享程序包的容器。它不仅可以用来存储项目开发中的依赖包,例如maven、npm、nuget和python,还可以存储通用类型的数据。在DevOps的实践推广过程中,大部分用户还是用定于与依赖包的私服服务器,特别是一些对网络安全比较看重的用户,基本上把它当作Nexus私服来使... 阅读详情

1. 发布Python程序包

一般我们都是用Twine作为Python程序包的发布工具,这个工具比较简单,只需要在用户主目录中配置.pypirc文件,指定私服地址即可,下面是一个简单的示例。
1.1 在用户主目录(C:\users\devservice)中创建一个文件.pypirc,内容如下

[distutils]
index-servers =
local
 
[local]
repository: http://localhost:8081/artifactory/api/pypi/pypi-local
username: admin
password: password

1.2 发布程序包
从github下载一套示例代码https://github.com/pypa/sampleproject,或者使用自己的python项目,运行打包和上传目录

python setup.py install
python setup.py sdist build
twine upload dist/*

我们可以在Azure DevOps Server的连接源中看到发布的包文件:

image

2. 常见问题

问题1:.pypirc文件不生效

问题描述
创建了文件C:\users\devservice.pypirc文件,使用twine upload 命令,没有连接文件中指定的私服,总是去连接官网的服务器

[distutils]
index-servers =
local
 
[local]
repository: http://localhost:8081/artifactory/api/pypi/pypi-local
username: admin
password: password

解决方案
参考:https://twine.readthedocs.io/en/latest/#environment-variables
在服务器上创建了两个环境变量,指向DevOps Server的连接源:

问题2:上传总提示冲突conflict

从github下载了一套示例代码https://github.com/pypa/sampleproject
使用命令编译、上传,总提示冲突:

python setup.py install
python setup.py sdist build
twine upload dist/*

image

解决方案:
不知道为什么已经存在一个同名的模块,将setup.py中的名称修改一下,再python setup.py sdist build,上传,成功了

问题 3. 上传来源于 pypi.org/project 的包,提示冲突
  • 从https://pypi.org/project/microsoft/#files 下载一个文件
  • 使用命令twine upload .\microsoft-0.1.2-py2.py3-none-any.whl,系统提示冲突
  • image

    解决方案:
    再上传命令后面添加参数--verbose,系统返回信息
{"$id":"1","innerException":null,"message":"不能将“Flask 2.0.0”发布到该源,因为它至少在该源的一个上游源中存在。发布此副本将阻止你使用“PyPI”中的“Flask 2.0.0
”。有关详细信息,请参阅 https://go.microsoft.com/fwlink/?linkid=864880","typeName":"Microsoft.VisualStudio.Services.Packaging.Shared.WebApi.Exceptions.PackageAl
readyExistsException, Microsoft.VisualStudio.Services.Packaging.Shared.WebApi","typeKey":"PackageAlreadyExistsException","errorCode":0,"eventId":3000}
HTTPError: 409 Conflict from http://ads2/DefaultCollection/_packaging/a1/pypi/upload

这下明白原因了,原因是我从pipy.org中下载的包,不能使用这种方式上传,必须从上游源中下载安装

3. 相关文章

如果需要,你还可以从微软Azure DevOps Server 的在线文档,查询更多的权威资料,也欢迎通过下面的联系方式与我沟通,相互学习,相互提高!


https://www.cnblogs.com/danzhang
Azure DevOps MVP 张洪君在这里插入图片描述

Azure DevOps Server 的连接源(Artifacts):五、python包管理pip和twine 1. 安装artifacts-keyring参考:https://pypi.org/project/artifacts-keyringartifacts-keyring是程序包keyring的扩展,它为用户连接Azure DevOps Server的连接源提供认证服务。用户使用pip或者twwin连接Azure DevOps Server的Artifacts,都需要使用这个组件。安装artifa... 阅读详情

相关推荐

nexus twine模块打包python项目上传pypi pip打包

twine模块打包python项目上传pypi https://blog.youkuaiyun.com/mouday/article/details/80736312 为世界贡献你的轮子-pipy打包 https://blog.youkuaiyun.com/mouday/article/details/79611454 packaging.python https://packaging.pyth...

github_38596081的博客 905

Azure DevOps Python 示例项目教程

Azure DevOps Python 示例项目教程 项目介绍 Azure DevOps Python 示例 是一个面向开发人员的仓库,展示了如何使用 Python 语言来集成和管理 Azure DevOps 及 Team Foundation Server (TFS)。此仓库提供了一系列示例代码,利用了 Azure DevOps Python API 来实现对项目、版本控制、工作项跟踪等服务的操...

gitblog_01017的博客 941

Python开发者必备:掌握Twine发布工具

Python包索引(PyPI)是一个巨大的仓库,它保存了超过十万的Python软件包,为开发者提供了一个方便的发布和共享代码的地方。当开发者想要分享他们的Python项目时,他们通常会将项目打包,并上传至PyPI,其他用户随后可以通过包管理工具如pip轻松地安装和更新这些软件包。Python包的发布涉及一系列的步骤,从本地开发环境的准备,到最终代码的上传,每个环节都至关重要。以下是基本的发布步骤:准备你的Python包:确保代码已经通过单元测试,包的结构符合PEP 517规范,包含必要的。

weixin_35257663的博客 714

Azure DevOps Python API 使用教程

Azure DevOps Python API 项目的目录结构如下: ``` azure-devops-python-api/ ├── azure/ │ └── devops/ │ ├── __init__.py │ ├── _file_cache.py │ ├── _helpers.py │ ├── _version.py │ ├

gitblog_00792的博客 715

Api-azure-devops-python-api.zip

Api-azure-devops-python-api.zip,azure devops python apiazure devops python api,一个api可以被认为是多个软件设备之间通信的指导手册。例如,api可用于web应用程序之间的数据库通信。通过提取实现并将数据放弃到对象中,api简化了编程。

azure-devops-python-api:Azure DevOps Python API

Azure DevOps Python API 此存储库包含用于与Azure DevOps进行交互和管理的Python API。 这些API支持Azure CLI的Azure DevOps扩展。 要了解有关Azure CLI的Azure DevOps扩展的更多信息,请访问回购。 安装 pip install azure-devops 开始吧 若要使用API​​,请使用和与Azure DevOps组织的URL建立连接。 然后从连接中获取客户端并进行API调用。 from azure . devops . connection import Connection from msrest . authentication import BasicAuthentication import pprint # Fill in with your personal access token and org URL personal_access_token = 'YOURPAT' organization_url = 'https://dev.azure.com/YOURORG' # Crea

探索 Microsoft Azure DevOps Python API:无缝集成与高效开发的利器

在软件开发领域,高效的团队协作和自动化管理是提升生产力的关键。Microsoft 的 Azure DevOps 提供了一个全面的平台,涵盖项目管理、版本控制、持续集成/持续部署(CI/CD)等多个方面。现在,借助 ,开发者可以更方便地利用 Python 对这一强大工具进行编程式访问和自定义。 ## 项目简介 Azure DevOps Python API 是微软官方提供的一个 Python 库

gitblog_00045的博客 1033

Python库 | think-0.1.2-py2.py3-none-any.whl

资源分类:Python库 所属语言:Python 资源全名:think-0.1.2-py2.py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.youkuaiyun.com/article/details/101784059

Azure DevOps Python API 项目常见问题解决方案

Azure DevOps Python API 是一个开源项目,它提供了Python语言编写的API接口,用于与Azure DevOps服务进行交互和管理。这个项目主要是为Azure DevOps扩展的Azure CLI提供支持。主要编程语言为Python。 ## 2. 新手常见问题及解决步骤 ### 问题一:如何安装 Azure DevOps Python API? **解决步骤:** 1

gitblog_01112的博客 878

Python库 | pyjexl-0.1.2-py2.py3-none-any.whl

python库。 资源全名:pyjexl-0.1.2-py2.py3-none-any.whl

视频编解码——视频编解码器工作原理

目录什么是视频编解码器为什么需要视屏编解码器视频编码器与数字视频容器时评编码器的历史 什么是视频编解码器 简单来说就是用于压缩或解压数字视频的软件或硬件 编码是信息从一种形式或格式转换为另一种形式的过程,解码是编码的反向。 适用于视频 编码是将视频、音频的原始格式的文件通过压缩技术转换成另一种格式(视频如h.264,h.265,m-jpeg等)。 解码是编码的反向过程。应用中,一般是将h.264,h.265格式数据解码成如YUV格式裸流交给显示器显示。 为什么需要视屏编解码器 需要在有限的带宽或存储空间

路人coder 1万+

python windows扩展包

地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 下载扩展包后,用pip install SomePackage-1.0-py2.py3-none-any.whl安装

河间老王的博客 1929

centos7下100T存储扩容(LVM)至150T

查看新增磁盘情况lsblk,fdisk -l [root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 4.2G 0 rom vda 252:0 0 80G 0 disk ├─vda1 252:1 0 1G 0 part /boot └─vda2 252:2

tiyager的博客 1025

6、包安装(pip)、管理(twine)

包安装(pip)、管理(twine)

融码一生:专注 Python、C/C++、Linux、机器学习 & 深度学习、NLP、算法领域分享 857

(UE5 5.2)HISM Mobile DrawInstance在渲染层的实现浅分析

在 (UE4 4.27) UHierarchicalInstancedStaticMesh(HISM)原理分析 这篇博客大致介绍HISM组件从游戏线程到渲染线程的重建KD-Tree和剔除并提交DrawCall逻辑,但是没有分析渲染层的大致数据结构和实现. 可以看出FHierarchicalStaticMeshSceneProxy 实际存储Instance数组数据来自于FInstancedStaticMeshSceneProxy FHierarchicalStaticMeshSceneProxy只是以FClu

qq_29523119的博客 2726

SolidWorks 2022 学习(一)软件安装

接下来是安装SolidWorks,右键SolidWorks.2022.SP0.Premium.DVD.iso,选择装载。然后以管理员身份运行SolidWorks_Flexnet_Server目录下的server_install.bat。更改需要安装的产品,以及安装路径,并勾选接受条款,点击现在安装,会弹出如下窗口。然后以管理员身份运行setup.exe,开始安装solidworks。下载链接会在文章末尾给出,下载完成的文件如下图所示。双击注册表文件,然后点击确定。保持不动,点击确定,开始安装。

qq_38383364的博客 3130

从0搭建Azure DevOps Server

搭建一台Azure DevOps Server 供我们运维项目开发,现在DevOps运维已成为一个主流,我之前有关于DevOps 的文章,今天我们开一台虚拟机,从0开始搭建一台Azure DevOps Server。

lisong315389的博客 3345

4、海洋哺乳动物运动能量学:潜水与生存的奥秘

本文深入探讨了海洋哺乳动物在潜水与运动中的能量消耗机制,涵盖其生理反应、代谢成本、节能行为策略及测量方法。通过分析不同物种的能量利用特点,揭示了它们如何在极端水下环境中维持能量平衡,并讨论了该研究在保护生物学、生态系统动态和动物健康管理中的实际意义。文章还展望了未来多学科交叉、长期监测及应对环境变化的研究方向,为理解海洋哺乳动物的生存奥秘提供了系统性视角。

p5l2m9n4o6q的博客 116

如何使用 Twine 发布 Python 包到 PyPI

在 Python 生态系统中,PyPI(Python Package Index)是官方的软件包存储库,开发者可以将自己的 Python 库发布到 PyPI,供其他人通过 `pip install` 进行安装和使用。twine 是 Python 官方推荐的工具之一,用于安全地上传 Python 包到 PyPI。相比于传统的 `setup.py upload` 命令,twine 提供了更安全的认证方式,并支持上传多个文件。本文介绍如何使用 twine 将 Python 包发布到 PyPI,包括包的

1504

详解vit_base_patch16_224

ViT-Base模型的核心思想是将输入图像划分为多个小块(patches),并使用Transformer架构来处理这些小块。具体来说,ViT-Base使用16x16像素的patch大小,输入图像的尺寸为224x224像素,这意味着每张图像将被划分为49个patch(22416×22416=14×14=19616224​×16224​=14×14=196个patch)。ViT-Base(ViT-B/16)通过将图像处理任务转化为序列处理任务。

具身机器人和通用AI 3233

【Unity小游戏】整整一个周末写一款《皇室战争 玩法》 的 即时战斗类 游戏Demo。两万多字游戏制作过程+解析

Unity游戏制作,本篇文章介绍了复刻皇室战争玩法的一个自制小游戏,共有该游戏的两万字教程加制作过程,欢迎品尝! 世界上没有绝对的公平,如果我们起点就比别人第一步,那就更需要比别人努力了。

努力前行,总会成为自己心中的那道光 12万+

Python编程:twine模块打包python项目上传pypi

注册账号(重要) https://pypi.org 创建项目 创建一个名为 example_pkg 的项目,目录结构如下 example_pkg /example_pkg __init__.py 编辑文件 example_pkg/__init__.py name = "example_pkg&

彭世瑜的博客 1万+

编译zlib库给IOS平台用

在弹出的下面对话框中选择Unix Makefiles ,然后点击(Done)完成。使用 lipo与otool查看库类型为arm64,现在可在ios平台使用该库了。zlib自带CMakeLists.txt 所以用CMake-GUI来生成。修改为与系统当前安装的cmake版本 (如:3.22.1)选择zlib源码目录及输出目录,输入下图的CMAKE参数。点击Configure,在弹出的对话框中选择Yes。cmake --install . 进行安装。cmake --build . 进行编译。

998

vscode扩展Volar安装失败解决方案

vscode扩展Volar安装失败解决方案

m0_58201165的博客 1万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

DevOps部署python的AzureFunctions(Httptrigger)+DevOps部署Terraform 构建部署Infra资源(二)

ok,本地代码都搞好之后,我们在Azure DevOps上创建一个组织,然后初始化一个项目,将本地的项目推到AzureRepos里面。声明一下(这里我们用的是微软自带的编译机,所以依赖都有比如Python,Azure CLI等,如果是自己配制的代理机,则需要我们去安装所需要的工具)我们事先需要在AzurePortal上创建一个存储账户然后在里面创建一个容器,这里我们创建了一个存储账户名为“lslsls”,我们进入到我们创建的项目中,然后点击”项目设置“>然后点击“服务连接”>“新建一个服务连接”

lisong315389的博客 395

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: Azure DevOps Server 的连接源(Artifacts):五、python包管理pip和twine
下一篇: Azure DevOps Server 的连接源(Artifacts):七、NPM 基础知识
Azure DevOps
博客等级 码龄6年 219粉丝 296原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值