Py3 工具打包并发布到 pip

先赞后看,养成习惯

编写自定义包代码

代码结构html

- dir_name
  - src
    - __init__.py
    - package_name
      - __init__.py
      - module1.py
      - module2.py
  - setup.py
复制代码

编写setup.py文件内容

下面是一个简单的setup.py文件,详细的参数配置能够参考 An Introduction to Distutilspython

# 编写完包源码后,python setup.py sdist生成pip压缩包
# 解压压缩包,python setup.py install  安装本身的包,就能够引用了


from distutils.core import setup
from setuptools import find_packages

setup(name='package_name',  # 包名
      version='2020.4.10',  # 版本号
      description='',
      long_description='',
      author='your_name',
      author_email='xxx@qq.com',
      url='xxx',
      license='',
      install_requires=[],
      classifiers=[
          'Intended Audience :: Developers',
          'Operating System :: OS Independent',
          'Natural Language :: Chinese (Simplified)',
          'Programming Language :: Python',
          'Programming Language :: Python :: 3',
          'Programming Language :: Python :: 3.6',
          'Topic :: Utilities'
      ],
      keywords='',
      packages=find_packages('src'),  # 必填
      package_dir={'''src'},  # 必填
      include_package_data=True,
      )
复制代码

package_name/__init__.py内容以下web

from __future__ import absolute_import
# 上面👆这个必须位于文件开头,不然后面运行会报错

from .module1 import *
from .module2 import *
复制代码

module1.py 代码以下后端

# 加法
def add(a,b):
    return a+b
复制代码

module2.py 代码以下编辑器

# 减法
def sub(a,b):
    return a-b


# 乘法
def mul(a,b):
    return a*b
复制代码

打包安装自定义包

在 dir_name 目录下执行
python setup.py sdist学习

生成 pip 压缩包, 没有这刷新项目 进入 packet_demo/dist 文件夹,执行
pip install xxx(本身包名,自由替换).tar.gz ui

安装后,就能够直接调用了url

import package_name
print(package_name.add(1,2))
复制代码

上传代码到 PyPI

检查 setup.py

在上传以前,能够先经过命令校验 setup 写错了没有: python setup.py checkspa

若是只有 running check 没有输出任何错误,则说明格式正确。3d

注册 pypi.org

而后须要在这里注册一个 PyPI 的账号,注册完成以后,就能够将这个代码库注册到 PyPI 了:
https://pypi.org/

注册之后就能够打包上传了

# 打包 python setup.py sdist

安装上传组件

pip install twine

上传

复制代码twine upload ./dist/xxx(本身包名,自由替换).tar.gz` 会让你输入帐号密码 复制代码

最后去 PyPI 上看下咱们刚刚上传的库

试试看咱们本身发布的库 pip install package_name

import package_name
print(package_name.add(1,2))
复制代码

欢迎欢迎点赞、讨论文章

小福利:

关注「 锐门玩道 」,回复「 资源 」领取更多 先后端学习资源 图片描述