如何将 python 包上传到 Nexus sonatype 私人仓库
How to upload the python packages to Nexus sonartype private repo
我已经在 aws 云上配置了 Nexus-OSS-3.14 私有 Python 工件服务器。我想在我的私人存储库服务器上维护我所有与项目相关的 Python 包。
我在本地 Linux 盒子上下载了所有 Python 包,我想将所有 Python 包上传到私人 Python 工件服务器。
我已经尝试了 curl put 请求,但我没有上传,需要您的帮助才能完成。
我试过 curl put 请求:
curl -v -u admin:admin --upload-file boto3-1.9.76-py2.py3-none-any.whl https://artifact.example.com/repository/ASAP-Python-2.7-Hosted/
当我使用该命令时,我收到 404 响应。
我认为推荐的方法是使用 twine
,像这样的方法应该有效:
pip install twine
twine upload --repository https://artifact.example.com/repository/ASAP-Python-2.7-Hosted/ boto3-1.9.76-py2.py3-none-any.whl
它应该询问您的用户名和密码。为了让生活更轻松,您可以使用 URL、用户名和密码
创建 $HOME/.pypirc
文件
[nexus]
repository: https://artifact.example.com/repository/ASAP-Python-2.7-Hosted/
username: admin
password: admin
然后当您调用 twine
时,请这样做:
twine upload --repository nexus boto3-1.9.76-py2.py3-none-any.whl
这不是一个硬性要求,但如果您使用的是多用户系统并且您已经在文件中设置了密码,那么您可能应该这样做
chmod 600 $HOME/.pypirc
Pip(纱线)可供下载。麻线上传。
配置:
小心尾部斜线!
用pip(yarn)下载
pip config edit [--editor [nano|code|...]] [--global|--user]
用于编辑配置
[global]
index = https://nexus.your.domain/repository/pypi/pypi
index-url = https://nexus.your.domain/repository/pypi/simple
或者设置环境变量。 Dockerfile 例如:
ENV \
PIP_INDEX=https://nexus.your.domain/repository/pypi/pypi \
PIP_INDEX_URL=https://nexus.your.domain/repository/pypi/simple
或者使用命令行参数pip install --index
用麻线上传
编辑.pypirc
:
[distutils]
index-servers =
pypi
[pypi]
repository: https://nexus.your.domain/repository/pypi-hosted/
username: nexususername
password: nexuspassword
或环境
ENV \
TWINE_REPOSITORY_URL=https://nexus.your.domain/repository/pypi-hosted/ \
TWINE_USERNAME=nexususername \
TWINE_PASSWORD=nexuspassword
或者命令行
twine upload --repository-url
我已经在 aws 云上配置了 Nexus-OSS-3.14 私有 Python 工件服务器。我想在我的私人存储库服务器上维护我所有与项目相关的 Python 包。
我在本地 Linux 盒子上下载了所有 Python 包,我想将所有 Python 包上传到私人 Python 工件服务器。
我已经尝试了 curl put 请求,但我没有上传,需要您的帮助才能完成。
我试过 curl put 请求:
curl -v -u admin:admin --upload-file boto3-1.9.76-py2.py3-none-any.whl https://artifact.example.com/repository/ASAP-Python-2.7-Hosted/
当我使用该命令时,我收到 404 响应。
我认为推荐的方法是使用 twine
,像这样的方法应该有效:
pip install twine
twine upload --repository https://artifact.example.com/repository/ASAP-Python-2.7-Hosted/ boto3-1.9.76-py2.py3-none-any.whl
它应该询问您的用户名和密码。为了让生活更轻松,您可以使用 URL、用户名和密码
创建$HOME/.pypirc
文件
[nexus]
repository: https://artifact.example.com/repository/ASAP-Python-2.7-Hosted/
username: admin
password: admin
然后当您调用 twine
时,请这样做:
twine upload --repository nexus boto3-1.9.76-py2.py3-none-any.whl
这不是一个硬性要求,但如果您使用的是多用户系统并且您已经在文件中设置了密码,那么您可能应该这样做
chmod 600 $HOME/.pypirc
Pip(纱线)可供下载。麻线上传。 配置:
小心尾部斜线!
用pip(yarn)下载
pip config edit [--editor [nano|code|...]] [--global|--user]
用于编辑配置
[global]
index = https://nexus.your.domain/repository/pypi/pypi
index-url = https://nexus.your.domain/repository/pypi/simple
或者设置环境变量。 Dockerfile 例如:
ENV \
PIP_INDEX=https://nexus.your.domain/repository/pypi/pypi \
PIP_INDEX_URL=https://nexus.your.domain/repository/pypi/simple
或者使用命令行参数pip install --index
用麻线上传
编辑.pypirc
:
[distutils]
index-servers =
pypi
[pypi]
repository: https://nexus.your.domain/repository/pypi-hosted/
username: nexususername
password: nexuspassword
或环境
ENV \
TWINE_REPOSITORY_URL=https://nexus.your.domain/repository/pypi-hosted/ \
TWINE_USERNAME=nexususername \
TWINE_PASSWORD=nexuspassword
或者命令行
twine upload --repository-url