众所周知,Python社区最吸引人的地方之一就是社区提供了非常丰富的第三方库,任何人都可以往上面提交自己写的开源工具包,如果希望用户可以直接通过 pip 命令下载安装的话,作为开发者,我们就可以把自己写的开源代码上传到 Pypi 服务器,这篇教程以 https://github.com/lzjun567/zhihu-api 为例,告诉你如何操作,如果你还没准备自己的开源项目,留着以后也会用得着。
目录结构除了项目所有的包目录之外,还要有 setup.py 文件和依赖包文件 requirements.txt 以及 README 说明文件。
|-- MANIFEST.in
|-- README.md
|-- requirements.txt # 项目依赖的第三方包
|-- setup.cfg
|-- setup.py # 配置文件
`-- zhihu # 包目录
|-- __init__.py
|-- auth.py
|-- error.py
|-- main.py
|-- models
setup.py 文件中必须包含内容是 setup 函数中指定的参数:
# -*- encoding: UTF-8 -*-
from setuptools import setup, find_packages
import io
VERSION = '0.2.4'
with io.open("README.md", encoding='utf-8') as f:
long_description = f.read()
install_requires = open("requirements.txt").readlines()
setup(
name="zhihu", # pip 安装时用的名字
version=VERSION, # 当前版本,每次更新上传到pypi都需要修改
author="liuzhijun",
author_email="[email protected]",
url="https://github.com/lzjun567/zhihu-api",
keyworads="zhihu",
description="zhihu api from humans",
long_description=long_description,
packages=find_packages(exclude=('tests', 'tests.*')),
include_package_data=True,
license='MIT License',
classifiers=[],
install_requires=install_requires,
)
也可以直接把代码下载下来,在本地通过 python settup.py install 的方式安装配置完之后需要到 Pypi 网站注册自己的帐号 https://pypi.python.org/pypi
上传文件前,需要地系统当前用户目录新建文件 .pypirc,内容如下,并指定用户名和密码:
[distutils]
index-servers =
pypi
[pypi]
username:xxxx
password:xxxx
开始上传:
python setup.py register sdist bdist_egg upload
上传成功后,用 pip install zhihu
测试一下效果。发现报错了 IOError: [Errno 2] No such file or directory: ‘README.md’,说是找不到 README.md 文件,其实这里还忽略了一个步骤,需要在项目中添加 MANIFEST.in 文件,把 readme 和 requirement 文件进入进来:
include README.md
include requirements.txt
.至此,安装包成功上传到Pypi服务器。
关注python之禅,提高Python技能