服务器之家

服务器之家 > 正文

Python进阶教程之创建本地PyPI仓库

时间:2022-01-23 22:55     来源/作者:范桂飓

初识pypi仓库

pypi仓库 是对第三方库的代码仓管库,如有需要可以从仓库中下载,下载用命令pip install 库名

pip 命令是需要在cmd命令下运行,不能在python环境下使用

创建本地 PyPI 仓库

安装 pypiserver

?
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
$ 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

上传 Python 安装包

  1. 可以使用 twine CLI 工具上传,也可以手动地把安装包 copy 到 pypiserver/packages 目录下。
  2. 可以上传 XXX.tar.gz 源码包,也可以上传 XXX.whl 分发包,都可以用于 pip 安装。

安装 twine CLI 工具:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$ 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}

(可选的)从现有的环境中获取 pip 安装包清单:

?
1
2
3
pip freeze bypy > requirement.txt
pip download -d ./python_packages -r requirement.txt
cp ./python_packages/* pypiserver/packages

(可选的)从源码编译得到可用于分发的 tar 包和 whl 包:

?
1
2
3
4
pip install wheel
pip install -U setuptools
python setup.py sdist bdist_wheel
twine upload -r internal ./dist/yourpackage-0.0.1.tar.gz

使用私有 PyPI 仓库

隐式使用:

?
1
2
3
4
5
6
$ ~/.pip/pip.conf
 
[global]
index-url = http://youruser:yourpass@yourserver:8081/simple
[install]
trusted-host=yourserver

显式使用:

?
1
2
3
$ pip install --trusted-host yourserver \
    --extra-index-url http://youruser:yourpass@yourserver:8081/simple \
    yourpackage

总结

到此这篇关于Python进阶教程之创建本地PyPI仓库的文章就介绍到这了,更多相关Python创建本地PyPI仓库内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/Jmilk/article/details/120703271

标签:

相关文章

热门资讯

蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部