Python 进阶 — 创建本地 PyPI 仓库
【摘要】
目录
文章目录
目录创建本地 PyPI 仓库安装 pypiserver上传 Python 安装包
使用私有 PyPI 仓库
创建本地 PyPI 仓库
安装 pypiserver
$...
目录
创建本地 PyPI 仓库
安装 pypiserver
$ mkdir pypiserver
$ cd pypiserver
$ mkdir ./packages
$ mkdir ./auth
$ pip install passlib
$ cd auth
# 生成 htpass 文件
# 会 prompt 密码输入,重复两遍一样的
$ htpasswd -sc .htaccess username
$ cd pypiserver
$ cat ./docker-compose.yml
...
version: "3.3"
services:
pypiserver:
image: pypiserver/pypiserver:latest
volumes:
- type: bind
source: ./packages
target: /data/packages
- type: bind
source: ./auth
target: /data/auth
command: -P /data/auth/.htaccess -a update,download,list /data/packages
ports:
- "8081:8080"
$ docker-compose -f docker-compose.yml up -d
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
上传 Python 安装包
- 可以使用 twine CLI 工具上传,也可以手动地把安装包 copy 到 pypiserver/packages 目录下。
- 可以上传 XXX.tar.gz 源码包,也可以上传 XXX.whl 分发包,都可以用于 pip 安装。
安装 twine CLI 工具:
$ pip install twine
$ ~/.pypirc
...
[distutils]
index-servers =
# 不使用 pypi 公共仓库。
# pypi
internal
#[pypi]
#username:<your_pypi_username>
#password:<your_pypi_passwd>
[internal]
repository: http://your_pipserver:8081
username: <some_username>
password: <some_passwd>
twine upload -r internal {packet_path}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
(可选的)从现有的环境中获取 pip 安装包清单:
pip freeze bypy > requirement.txt
pip download -d ./python_packages -r requirement.txt
cp ./python_packages/* pypiserver/packages
- 1
- 2
- 3
(可选的)从源码编译得到可用于分发的 tar 包和 whl 包:
pip install wheel
pip install -U setuptools
python setup.py sdist bdist_wheel
twine upload -r internal ./dist/yourpackage-0.0.1.tar.gz
- 1
- 2
- 3
- 4
使用私有 PyPI 仓库
隐式使用:
$ ~/.pip/pip.conf
[global]
index-url = http://youruser:yourpass@yourserver:8081/simple
[install]
trusted-host=yourserver
- 1
- 2
- 3
- 4
- 5
- 6
显式使用:
$ pip install --trusted-host yourserver \
--extra-index-url http://youruser:yourpass@yourserver:8081/simple \
yourpackage
- 1
- 2
- 3
文章来源: is-cloud.blog.csdn.net,作者:范桂飓,版权归原作者所有,如需转载,请联系作者。
原文链接:is-cloud.blog.csdn.net/article/details/120703271
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)