赞同 0
分享

PyPi打包实操

简介:如果你有一个自己的Python包想要共享给全世界的人使用,最方便的做法是上传到Python包镜像站,上传包就必须打包,这篇文章就是介绍如何打包上传到镜像站的操作流程。
  2021.03.16
  Bug Man
  0
  71
  172.17.0.1
  中国.上海
 
 

打包操作命令提取:
python setup.py sdist bdist
twine upload dist/*
首相要搞清楚几个问题:
1.我打包的工程结构应该是什么样子?

很多的文章都会让你去看python的包结构的知识,其实他们的用意就是告诉你,你将要被打包的工程(不管是脚本还是项目)都应该放一个__init__.py的文件,不管用不用先创建一个让这个工程成为一个包。

2.打包的工具是什么?怎么使用?
pip3 install whell  -y
pip3 install twine -y

这两个工具包先安装好,不要问,问就是有用。先安装,不要管其他的。 准备打包之前你需要准备几个文件:setup.py、LICENS、README.md。setup.py这个就是你打包主要配置文件了,所有关于你包的信息都在这里,关键性的配置先写好,剩下的是根据你的包选择性的去配置。 开始打包:python setup.py sdist bdist这里面的参数bdist就会在你当前目录下创建一个名为build的文件夹,里面会有一个lib文件夹(这就是你打包之后的源码,如果你依赖运行的代码不在这里就证明包没有打好)。

3.上传到pypi镜像站

先去注册一个账号,网址是:https://www.pypi.org 注册好之后就可以开始上传了,这一步是建立在你包没有问题的基础上(不然又要重新上传)。输入命令twine upload dist/*这里dist文件夹里面要保证只有此次版本的两个压缩文件,不然就会上传不成功。

4.阶段性成功

这个时候你就可以在默认镜像源地址里拉取你上传的包了,如果打的是一个比较复杂的包就需要多次反复上传下载测试是否能够正常使用。 为了安装工具包的速度能够更快,我建议你在几个国内镜像站里面查看,谁同步快就用谁的。方法是在镜像地址后面跟上你的包名例如:http://mirrors.aliyun.com/pypi/simple/fast-ft/。这个过程中可能会需要不断更换镜像源,如果你是用国外源速度可以当我没说。

5.国内镜像源同步速度

经过我自己的测试,发现清华大学的源是同步评率最高的,其次阿里云的源,最后是豆瓣。北京外国语大学开源软件镜像站,直接没有同步超过12个小时没同步。中国科学院网址都是错误,直接无法访问也有可能是关闭了。

豆瓣:http://pypi.douban.com/simple

阿里云:http://mirrors.aliyun.com/pypi/simple/

清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/

中国科学院:http://pypi.mirrors.opencas.cn/simple/

中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple/