wangbin
  • wangbin
  • 2019-04-21
  • IT

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

参考:

  1. https://www.cnblogs.com/mithrilon/p/8954677.html

  2. https://pypi.org/project/pypiserver