【Python】搭建pypi私仓

1. 下载依赖

pip install pypiserver # 命令安装 pypiserver 库
pip install passlib # passlib 包来读取 Apache htpasswd 文件
apt-get install -y apache2-utils

2. 生成密码

使用htpasswd库在指定路径/path/to/.pypipasswd生成密码文件

htpasswd -c /path/to/.pypipasswd root
New password: [输入密码]
Re-type new password: [再次输入密码]
Adding password for user root

3. 启动仓库

pypi-server run -P /path/to/.pypipasswd --fallback-url https://mirrors.aliyun.com/pypi/simple/ /opt/pypi/package_directory /opt/pypi/packages -p 8989

启动PyPI服务器,可以通过浏览器访问 http://localhost:8989/ 以打开PyPI服务器的默认欢迎页。
在这里插入图片描述

  • -P:指定密码文件
  • –fallback-url:本pypi-server找不到包时,到此源寻找
  • -p:启动端口

4. 服务化

首先编写启动脚本run-pypi.sh

#!/bin/bash
pypi-server run -P /path/to/.pypipasswd --fallback-url https://mirrors.aliyun.com/pypi/simple/ /opt/pypi/package_directory /opt/pypi/packages -p 8989

在/etc/systemd/system路径下新增文件 pypi-server.service

[Unit]
Description=Pypi server
Requires=network-online.target
After=network-online.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/opt/pypi/run-pypi.sh

[Install]
WantedBy=multi-user.target

启动、开机自启

systemctl start pypi-server.service
systemctl enable pypi-server.service

查看状态

systemctl status pypi-server.service
● pypi-server.service - Pypi server
     Loaded: loaded (/etc/systemd/system/pypi-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2024-05-27 12:10:47 CST; 2min 37s ago
   Main PID: 2406608 (run-pypi.sh)
      Tasks: 7 (limit: 464205)
     Memory: 61.8M
     CGroup: /system.slice/pypi-server.service
             ├─2406608 /bin/bash /opt/pypi/run-pypi.sh
             └─2406614 /usr/bin/python3 /usr/local/bin/pypi-server run -P /path/to/.pypipasswd --fallback-url https://mirrors.aliyun.com/pypi/simple/ /opt/pypi/package_directory /opt/pypi/packages -p 8989

May 27 12:10:47 tool-pnb-105-112 systemd[1]: Started Pypi server.
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Brill_y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值