
# 通过客户端上传/下载PyPI组件
CodeArts Artifact支持与本地PyPI客户端对接，用户A可以通过客户端的方式将本地PyPI客户端中的私有组件上传至CodeArts Artifact私有依赖库，其他用户再通过客户端的方式从CodeArts Artifact私有依赖库下载用户A上传的PyPI组件，实现PyPI组件的共享或传递。
#### PyPI组件介绍
PyPI（Python Package Index）是Python社区的官方第三方软件存储库。通过PyPI，开发者可以发布和分发Python软件包。
#### 约束与限制
不同用户账号的私有依赖库仓库密码不同，当用户以不同账号访问私有依赖库时，如果需要使用仓库密码，则需要在各仓库"操作指导"中重新下载配置文件获取仓库密码。
#### 前提条件
- 使用客户端工具为python和twine，请确保已安装python和twine。
- 已[创建PyPI仓库](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0008.html)。
- 需要具备当前仓库的"下载/查看"权限，如需获取"下载/查看"的权限，请参考[配置私有依赖库权限](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0047.html)配置。
 
#### 通过客户端上传PyPI组件
1. 使用华为云账号[访问CodeArts Artifact的私有依赖库](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0007.html#cloudartifact_01_0007__section1789618380209)。
2. 在私有依赖库页面选择对应的PyPI仓库。
3. 单击页面右侧"操作指导"。
4. 在"操作指导"对话框，单击"下载配置文件"，从私有依赖库页面下载"pypirc"文件，将下载的"pypirc"文件另存为".pypirc"文件。 
   ![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002545299385.png "点击放大")
   
   
   
5. 复制到用户目录下，Linux系统路径为：\~/.pypirc (Windows系统路径为：C:\\Users\\\<UserName\>\\.pypirc)。
6. 进入python工程目录，执行以下命令将python工程打成whl包： 
   ```
   python setup.py bdist_wheel
   ```
   
   
7. 执行以下命令将文件上传到仓库： 
   ```
   python -m twine upload -r pypi dist/*
   ```
   ![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002513859430.png "点击放大")
   如果上传时报证书问题，请执行以下命令（Windows系统请用git bash执行）设置环境变量跳过证书校验（twine低于或等于3.8.0版本，request低于或等于2.27版本时可忽略）：
   ```
   export CURL_CA_BUNDLE=""
   ```
   **环境变量会因重新登录机器、切换用户、重新打开bash窗口等原因被清除，请在每次执行上传前添加环境变量。**
   
   
 
#### 通过客户端下载PyPI组件
1. 使用华为云账号[访问CodeArts Artifact的私有依赖库](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0007.html#cloudartifact_01_0007__section1789618380209)。
2. 在私有依赖库页面选择对应的PyPI仓库。
3. 单击页面右侧"操作指导"。
4. 在"操作指导"对话框，选择"下载"并单击"下载配置文件"。
5. 从私有依赖库页面下载"pip.ini"文件，将"pip.ini"文件复制到用户目录下，Linux系统路径为：\~/.pip/pip.conf (Windows系统路径为：C:\\Users\\\<UserName\>\\pip\\pip.ini)。 
   ![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002513860550.png "点击放大")
   
   
   
6. 执行以下命令安装python包： 
   ```
   pip install {包名}
   ```
   ![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002545220525.png "点击放大")
   
   
 
