这篇文章给大家分享的是有关Python中包的发布方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

Python中包如何发布?

1.myModule目录结构体如下:

./setup.py__init__.pytest.pysub_A/__init__.pya.pysub_B/__init__.pyb.py

2.编辑setup.py文件

py_modules需指明所需包含的py文件

fromdistutils.coreimportsetupsetup(name="Se7eN_HOU",version="1.0",description="Se7eN_HOU'smodule",author="Se7eN_HOU",py_modules=["sub_A.a","sub_B.b"])

3.构建模块

使用控制台在setup.py文件的同目录下执行python setup.py build

C:\Users\Se7eN_HOU\Desktop\myModule>pythonsetup.pybuildrunningbuildrunningbuild_pycopyingsub_A\a.py->build\lib\sub_Acopyingsub_B\b.py->build\lib\sub_BC:\Users\Se7eN_HOU\Desktop\myModule>

构建后目录结构:

./setup.py__init__.pytest.pysub_A/__init__.pya.pysub_B/__init__.pyb.pybuild/lib/sub_A/__init__.pya.pysub_B/__init__.pyb.py

4.生成发布压缩包

同目录下执行python setup.py sdist

C:\Users\Se7eN_HOU\Desktop\myModule>pythonsetup.pysdistrunningsdistrunningcheckwarning:check:missingrequiredmeta-data:urlwarning:check:missingmeta-data:if'author'supplied,'author_email'mustbesuppliedtoowarning:sdist:manifesttemplate'MANIFEST.in'doesnotexist(usingdefaultfilelist)warning:sdist:standardfilenotfound:shouldhaveoneofREADME,README.txt,README.rstwritingmanifestfile'MANIFEST'creatingSe7eN_HOU-1.0creatingSe7eN_HOU-1.0\sub_AcreatingSe7eN_HOU-1.0\sub_BmakinghardlinksinSe7eN_HOU-1.0...hardlinkingsetup.py->Se7eN_HOU-1.0hardlinkingsub_A\__init__.py->Se7eN_HOU-1.0\sub_Ahardlinkingsub_A\a.py->Se7eN_HOU-1.0\sub_Ahardlinkingsub_B\__init__.py->Se7eN_HOU-1.0\sub_Bhardlinkingsub_B\b.py->Se7eN_HOU-1.0\sub_BcreatingdistCreatingtararchiveremoving'Se7eN_HOU-1.0'(andeverythingunderit)C:\Users\Se7eN_HOU\Desktop\myModule>

打包后,生成最终发布压缩包Se7eN_HOU-1.0tar.gz,目录结构

./setup.py__init__.pytest.pysub_A/__init__.pya.pysub_B/__init__.pyb.pybuild/lib/sub_A/__init__.pya.pysub_B/__init__.pyb.pyMANIFESTdist/Se7eN_HOU-1.0.tar.gz

感谢各位的阅读!关于Python中包的发布方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!