跳转到主要内容

Tornado PyPi服务器

项目描述

PYPI服务器
===========

.. image:: https://travis-ci.org/mosquito/pypi-server.svg?branch=master
:target: https://travis-ci.org/mosquito/pypi-server

.. image:: https://img.shields.io/pypi/v/pypi-server.svg
:target: https://pypi.python.org/pypi/pypi-server/
:alt: 最新版本

.. image:: https://img.shields.io/pypi/wheel/pypi-server.svg
:target: https://pypi.python.org/pypi/pypi-server/

.. image:: https://img.shields.io/pypi/pyversions/pypi-server.svg
:target: https://pypi.python.org/pypi/pypi-server/

.. image:: https://img.shields.io/pypi/l/pypi-server.svg
:target: https://pypi.python.org/pypi/pypi-server/


快速异步的PyPI服务器实现。

这是什么?
-------------

pypi.python.org - 是一个全球Python包的仓库。此包是一个自托管的PyPI服务,具有从全局PyPI的缓存功能。

HTTP代理不能与pypi.python.org的XML-RPC一起工作。

屏幕截图
-----------

.. image:: screenshots/packages.png?raw=true
:scale: 50 %

.. image:: screenshots/users.png?raw=true
:scale: 50 %

.. image:: screenshots/create_user.png?raw=true
:scale: 50 %


特性
--------

目前支持

* 从全局PyPI缓存包
* 提供自己的包(注册和更新)
* 注册和上传的密码验证
* 支持的数据库
* Postgresql
* Mysql (mariadb)
* sqlite3(仅限开发)


安装
------------

Docker
++++++

使用`docker image`_ 和以下`docker-compose.yml`_(使用postgresql)

.. code-block:: yaml

version: '2'

services
db
image: postgres
environment
POSTGRES_PASSWORD: pypi-server
POSTGRES_USER: pypi-server
POSTGRES_DB: pypi-server

- ./postgresql:/var/lib/postgresql/data

pypi_server
镜像: mosquito/pypi-server:latest
链接
- db
重启: 总是
端口
- 8080:80

- ./packages:/usr/lib/pypi-server
environment
数据库URL。在需要时使用`sqlite3:///`或`mysql://`
DB: "postgres://pypi-server:pypi-server@db/pypi-server"

默认为随机
SECRET: 改变我

重写标准端口
PORT: 80

设置"X-Headers"(例如,X-Forwarded-For)
PROXY_MODE: 1

设置0以禁用从全局pypi的代理
PYPI_PROXY: 1

线程池大小(默认为cpu_count * 2)
POOL_SIZE: 4

最大代理客户端数
MAX_CLIENTS: 25

PyPI服务器URL
PYPY_SERVER: https://pypi.python.org


Centos
++++++

使用`releases`_中的准备好的Centos 7 rpm

手动安装

.. code-block:: bash

安装编译器
yum groupinstall -y "开发工具"

安装依赖头文件
yum install -y python-pip python-devel libxml2-devel libxslt-devel libffi-devel

安装数据库库头文件(如果使用postgresql)
yum install -y libpqxx-devel


Debian (Ubuntu)
+++++++++++++++

使用`releases`_中的准备好的deb文件

手动安装

.. code-block:: bash

安装编译器
apt-get install -y build-essential
apt-get install -y python-dev python-pip libxml2-dev libxslt-dev libffi-dev
apt-get install -y libpq-dev



安装pypi-server

.. code-block:: bash

pip install pypi-server


如果你想要支持postgres或mysql数据库

.. code-block:: bash

pip install 'pypi-server[postgres]' # 或 'pypi-server[mysql]'

默认管理员登录 \ 密码是: admin \ admin


如何上传自己的包
---------------------------

1. 确保你的包setup.py文件是正确的。请参考https://packaging.pythonlang.cn/distributing/

2. 在家目录中创建.pypirc

.. code-block:

[distutils]
index-servers =
mypypi

[mypypi]
repository=http://example.com/pypi
username=admin
password=admin

3. 打包,在你的pypi-server上注册包并上传包

.. code-block:: bash

cd your_package_root_folder
python setup.py sdist register upload -r mypypi


.. _releases: https://github.com/mosquito/pypi-server/releases/
.. _docker image: https://hub.docker.com/r/mosquito/pypi-server/
.. _docker-compose.yml: https://github.com/mosquito/pypi-server/blob/master/docker-compose.yml

项目详情


下载文件

下载您平台上的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源代码分布

pypi-server-0.4.8.tar.gz (417.0 kB 查看哈希值)

上传时间 源代码

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面