Pypiserver
mkdir pypiserver
cd pypiserver
mkdir htpasswd
安装htpasswd
sudo apt install apache2-utils
生成密码
# 用户名为test
htpasswd -sc htpasswd/htpasswd test
编写docker-compose.yml
version: '3'
services:pypiserver:image: pypiserver/pypiserver:latestcontainer_name: pypiserverports:- "10005:8080" # 10005映射到8080volumes:- ./packages:/data/packages # 本地包存储目录挂载到容器- ./htpasswd:/data/htpasswd # 认证文件(可选)command: run -P /data/htpasswd/htpasswd --fallback-url https://mirrors.bfsu.edu.cn/pypi/web/simple -a update,download,list /data/packages restart: always
如果你用的wsl,可以用powershell查查被排除的端口
netsh interface ipv4 show excludedportrange protocol=tcp
启动
sudo docker compose up -d
安装
sudo apt install twine
上传whl
twine upload --repository-url http://localhost:10005 ./dist/my_package-0.1.1-py3-none-any.whl -u test -p <密码>
测试
conda create -n test_my python==3.10.13 -y
conda activate test_mypip install -i http://test:<密码>@localhost:10005/simple --trusted-host localhost my_package
#pip install --no-cache-dir -U -i http://test:<密码>@localhost:10005/simple --trusted-host localhost my_package
运行
from my_package.my_file import my_func
my_func()
测试网页http://localhost:10005/simple/