pypiserver搭建个人pypi源
一. 简介
pypi(Python Package Index),python软件仓库。
最近写了一些iOS项目管理的python脚本,是zip打包后放到网站上提供给别人使用的,需要下载后执行好几个步骤,才能使用起来,挺不方便。
正好看到网上使用pypiserver搭建个人pypi源的教程,按照教程安装后把自己的脚本打包上传,别人可以通过pip安装,再也不需要那些繁琐的步骤,很方便。
安装过程很简单,别人的教程说的也很详细,这里记录下。
二. 安装
install_pypiserver.sh
# pip
yum -y install epel-release
yum -y install python-pip
# pypiserver
pip install --upgrade pip
pip install pypiserver
这样就安装完成了
三. 命令
启动服务
mkdir -p /vps/hosts/pypi
pypi-server -p 8070 /vps/hosts/pypi/
这样服务就启动起来啦,每次访问pypi-server都会遍历/vps/hosts/pypi
curl http://127.0.0.1:8070
执行上面命令看看是否可以正常访问
四. nginx配置
# pypi.siyou325.com
server {
listen 50443 ssl http2;
listen [::]:50443 ssl http2;
server_name pypi.siyou325.com;
access_log logs/siyou325.com/access-common.siyou325.com.log siyou325;
error_log logs/siyou325.com/error.log;
ssl_certificate /vps/certificate/acme/*.siyou325.com/fullchain.cer;
ssl_certificate_key /vps/certificate/acme/*.siyou325.com/*.siyou325.com.key;
ssl_trusted_certificate /vps/certificate/letsencrypt/live/siyou325.com/chain.pem;
location / {
proxy_pass http://127.0.0.1:8070;
proxy_set_header Host $host;
proxy_set_header X-Real-Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header SIYOU325-X-Real-Ip $remote_addr;
}
# 禁止访问.svn目录,防止svn信息泄漏,必加项
location ~ ^(.*)\/\.svn\/ {
deny all;
}
}
五.一个简单的库
创建一个简单的项目,名字叫做demo
目录下创建demo文件夹,以及setup.py文件,内容如下
from setuptools import setup
setup(
name='demo',
version='0.0.1',
packages=['demo']
)
执行打包命令
python setup.py sdist
目录下会多出dist/demo-0.0.1.tar.gz文件,将该文件上传到/vps/hosts/pypi/demo目录下,发布就算完成啦。
五.用户使用这个简单的库
安装
pip install -i https://pypi.siyou325.com demo
升级
pip install --upgrade -i https://pypi.siyou325.com demo
卸载
pip uninstall demo
如果网站不支持https,需要加上--trusted-host
pip install --trusted-host pypi.siyou325.com -i http://pypi.siyou325.com ioptimi
五.结尾
pypiserver一般使用按照上面就可以了,详细的可以查看
https://pypi.org/project/pypiserver
参考: