把自己制作的Python open package发布到PyPI

来源:互联网 发布:淘宝如何删除好评 编辑:程序博客网 时间:2024/05/17 23:09
Python的PyPI仓库有上万的模块,使用这些现成的模块可以极大的减轻开发负担。这些模块可以通过pip或easy_install安装。
这个PyPI还允许我们将自己的代码上传发布到PyPI服务器。这样,其它人也能使用pip或easy_install来下载使用我们的模块了。
 
什么是PyPI?
PyPI是Python Package Index首字母缩写,它是一个公开仓库,允许个人上传自己的Python包。pip是安装管理Python包的一个工具。
Python也提供私有仓库。
 
把Python包发布到PyPI
首先制作一个Python包,项目文件:
├── LICENSE
├── README.md
├── code
│   ├── __init__.py
│   └── test.py
├── requirements.txt
├── setup.py
创建的setup.py文件格式大致如下,其中,install_requires字段可以列出依赖的包信息,用户使用pip或easy_install安装时会自动下载依赖的包。详细的格式参考文档(http://docs.python.org/2/distutils/setupscript.html)。
from setuptools import setup, find_packages
setup(
name = 'mypypitest',
version = '0.1',
keywords = ('simple', 'test'),
description = 'just a simple test',
classifiers=[
'Development Status :: 3 - Alpha',
'Intended Audience :: Developers',
'Topic :: Software Development :: Libraries',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
],
license = 'MIT License',
install_requires = ['simplejson>=1.1'],
author = 'snail',
author_email = 'root@topspeedsnail.com',
packages = find_packages(),
platforms = 'any',
)
 
创建一个用户
在上传Python包前首先在PyPI创建一个用户。注册地址:https://pypi.python.org/pypi?%3Aaction=register_form
 
将代码打包
打包只需要执行python setup.py xxx命令即可,其中xxx是打包格式的选项,如下:
# 以下所有生成文件将在当前路径下 dist 目录中
python setup.py bdist_egg # 生成easy_install支持的格式
python setup.py sdist     # 生成pip支持的格式,下文以此为例
 
注册包
python setup.py register
 
上传
python setup.py sdist upload
上传成功后,就可以使用pip来下载安装了。
0 0