Pypi发布上传你自己的Python库

Pypi上传包

一、准备

Windows环境

*以下教程只能在Windows上执行,mac系统不能使用

注册账号

你需要在Pypi上注册一个账号。Pypi

二、安装必要的库

setuptools

原则上安装了pip的环境都有setuptools,但并不影响你去尝试升级一下它。

pip install --upgrade setuptools

twine

这是一个简化将库发布到Pypi上流程的工具,具体的使用之后会讲到。

pip install --upgrade twine

三、编写核心代码

文件结构

接下来我们就可以编写自己的代码了,要注意源代码文件夹(仓库里的my_package文件夹)的名字与setup.py里配置的包名(Name)要一致。
另外在重新上传之前我们要修改__version__.py里的版本号,以免覆盖了以前的上传(相信会有人是需要之前版本的库的)。
最终的代码结构:

│  LICENSE

│  README.md

│  setup.py

└─以封装的模块名为文件夹名
	
		__init__.py

        

编辑setup.py

import setuptools



setuptools.setup(
    name="multable", # Replace with your own username  #自定义封装模块名与文件夹名相同
    version="0.0.1", #版本号,下次修改后再提交的话只需要修改当前的版本号就可以了
    author="李厚奇", #作者
    author_email="884359533@qq.com", #邮箱
    description="调用此方法可打印9*9乘法表", #描述
    long_description='调用此方法可以打印9*9乘法表', #描述
    long_description_content_type="text/markdown", #markdown
    url="https://github.com/tanxinyue/multable", #github地址
    packages=setuptools.find_packages(),
    classifiers=[
        "Programming Language :: Python :: 3",
        "License :: OSI Approved :: MIT License", #License
        "Operating System :: OS Independent",
    ],
    python_requires='>=3.7',  #支持python版本
)

代码逻辑的封装

编辑以封装的模块名为文件夹名下的 __ init__.py文件。
例如:打印九九乘法表

def multiplication():
    for i in range(1, 10):
        for j in range(1, i+1):
            print('{}x{}={}	'.format(j, i, i*j), end='')
        print()
 

四、打包上传

提交库到Pypi供别人下载

在setup.py的同级目录下运行以下命令。

python setup.py sdist

然后运行

twine upload dist/*

注意要输入Pypi账号和密码。

五、下载封装的Python模块

以我封装的9*9乘法表为例,模块名为multable

pip install multable

使用

 import multable
 
 multable.multiplication() #multable是模块名称,multiplication() 是封装的函数名称,调用即可

最终效果

1x1=1	
1x2=2	2x2=4	
1x3=3	2x3=6	3x3=9	
1x4=4	2x4=8	3x4=12	4x4=16	
1x5=5	2x5=10	3x5=15	4x5=20	5x5=25	
1x6=6	2x6=12	3x6=18	4x6=24	5x6=30	6x6=36	
1x7=7	2x7=14	3x7=21	4x7=28	5x7=35	6x7=42	7x7=49	
1x8=8	2x8=16	3x8=24	4x8=32	5x8=40	6x8=48	7x8=56	8x8=64	
1x9=9	2x9=18	3x9=27	4x9=36	5x9=45	6x9=54	7x9=63	8x9=72	9x9=81
原文地址:https://www.cnblogs.com/lihouqi/p/13952484.html