python库打包分发

 Python
 

Python库打包分发

主要有以下步骤:

  1. 注册PyPI账号(执行一次)
  2. 安装打包分发工具(执行一次)
  3. 编写setup.py文件
  4. 通过命令打包分发

1.注册PyPI账号

进入PyPI的官网,进去注册账号密码,绑定邮箱等。

在成功注册账号之后,创建~/.pypirc文件,在文件中配置自己的PyPI访问地址和账号密码等信息,如下:

1
2
3
4
5
6
[distutils]
index-servers = pypi

[pypi]
username:xxx
password:xxx

2.安装打包分发工具

这里通过twine来打包安装。

通过以下命令下载:

1
pip install twine

3.编写setup.py文件

格式不再详述,具体查看参考1. 举例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from distutils.core import setup
import setuptools

with open('./README.md', 'r', encoding='utf8') as f:
long_description = f.read()

with open('./requirements.txt', 'r', encoding='utf8') as f:
install_requires = list(map(lambda x: x.strip(), f.readlines()))

setup(
name='lightNLP',
version='0.3.2.0',
description="lightsmile's nlp library",
author='lightsmile',
author_email='iamlightsmile@gmail.com',
url='https://github.com/smilelight/lightNLP',
packages=setuptools.find_packages(),
install_requires=install_requires,
long_description=long_description,
long_description_content_type='text/markdown',
license='Apache-2.0',
classifiers=[
'Development Status :: 4 - Beta',
'Operating System :: OS Independent',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Topic :: Software Development :: Libraries'
],
)

4.通过命令打包分发

打包

在setup.py文件目录下执行:

1
python setup.py sdist bdist_wheel

分发

在setup.py文件目录下执行:

1
twine upload dist/*

后记

之后便可以登录PyPI网站查看自己的projects了。需要注意的是新建包的名字不能在忽视大小写情况下和其他包重复。

参考

  1. Python 库打包分发(setup.py 编写)简易指南
  2. pypi twine