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{}={}\t'.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