PyPI(Python Package Index)是python官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到PyPI。PyPI推荐使用pip包管理器来下载第三方库,你可以通过easy_install或者pip进行安装
下面介绍如何上传自己的库到pypi上:
1.当我们写好代码后,我们要把代码加工一下,将他放进一个文件夹A,然后在A下建立一个__init__.py文件,使A文件夹变成一个包,然后在A外新建B文件夹,在B文件夹下建立一些说明文件和上传文件如readme,doc,setup.py
如图:B---A---__init__.py
| |---1.py
| |---2.py
| |---3.py
|
|-setup.py
|-doc
2.编写setup.py文件:
import
codecs
import
os
import
sys
try
:
from
setuptools
import
setup
except
:
from
distutils.core
import
setup
"""
打包的用的setup必须引入,
"""
def
read(fname):
"""
定义一个read方法,用来读取目录下的长描述
我们一般是将README文件中的内容读取出来作为长描述,这个会在PyPI中你这个包的页面上展现出来,
你也可以不用这个方法,自己手动写内容即可,
PyPI上支持.rst格式的文件。暂不支持.md格式的文件,<BR>.rst文件PyPI会自动把它转为HTML形式显示在你包的信息页面上。
"""
return
codecs.
open
(os.path.join(os.path.dirname(__file__), fname)).read()
NAME
=
"somefunctions"
"""
名字,一般放你包的名字即可
"""
PACKAGES
=
[
"somefunctions"
,]
"""
包含的包,可以多个,这是一个列表
"""
DESCRIPTION
=
"this is a test package for packing python liberaries tutorial."
"""
关于这个包的描述
"""
LONG_DESCRIPTION
=
read(
"README.rst"
)
"""
参见read方法说明
"""
KEYWORDS
=
"test python package"
"""
关于当前包的一些关键字,方便PyPI进行分类。
"""
AUTHOR
=
"MitchellChu"
"""
谁是这个包的作者,写谁的名字吧
我是MitchellChu,自然这里写的是MitchellChu
"""
AUTHOR_EMAIL
=
"youremail@email.com"
"""
作者的邮件地址
"""
"""
你这个包的项目地址,如果有,给一个吧,没有你直接填写在PyPI你这个包的地址也是可以的
"""
VERSION
=
"1.0.1"
"""
当前包的版本,这个按你自己需要的版本控制方式来
"""
LICENSE
=
"MIT"
"""
授权方式,我喜欢的是MIT的方式,你可以换成其他方式
"""
setup(
name
=
NAME,
version
=
VERSION,
description
=
DESCRIPTION,
long_description
=
LONG_DESCRIPTION,
classifiers
=
[
'License :: OSI Approved :: MIT License'
,
'Programming Language :: Python'
,
'Intended Audience :: Developers'
,
'Operating System :: OS Independent'
,
],
keywords
=
KEYWORDS,
author
=
AUTHOR,
author_email
=
AUTHOR_EMAIL,
url
=
URL,
license
=
LICENSE,
packages
=
PACKAGES,
include_package_data
=
True
,
zip_safe
=
True
,
)
3.python setup.py register sdist upload输入命令,然后输入用户名密码就可以了