本地网站404错误,郑州网站制作网页,wordpress国外主题慢,东莞做网站一般多少钱这章给大家介绍#xff0c;如何封装一个简单的python库首先创建一个以下型式的文件结构rootFile/setup.pyexample_package/__init__.pyexample_module.pyexample_package2/__init__.pyexample_module.py其中的两个__init__.py可以是一个空文件#xff0c;但是它是导入package…这章给大家介绍如何封装一个简单的python库首先创建一个以下型式的文件结构rootFile/setup.pyexample_package/__init__.pyexample_module.pyexample_package2/__init__.pyexample_module.py其中的两个__init__.py可以是一个空文件但是它是导入package所必需的文件,用来所以请务必创建__init__.py中可以编写Python代码但是不建议这么做因为实际的逻辑可以在模块中实现__init__.py应尽量轻。输入在你的python文件中分别添加以下内容#rootFile/example_package/example_module.py:classmodule_class:def __init__(self):passdefprint_hello():print(This is my first module)myName jobsofferingsdefprintMyName():print(myName)#rootFile/example_package/example_package2/example_module.py:classmodule_class:def __init__(self):passdefprint_hello():print(This is my second module)myName jobsofferingsdefprintMyName():print(myName)#setup.py:importsetuptoolssetuptools.setup(namerootFile,version0.0.1,authorjobsofferings,author_emailyouremailxxx.com,descriptionexample package,packages[example_package,example_package.example_package2],)name是程序包的名称。该名称可以是任何名称只要仅包含字母、数字、 _ 和 - 。若您想将此程序包上传至pypi.org请务必使用您的用户名进行更新因为这样可以确保您不会尝试上传与上传软件包时已经存在的软件包名称相同的软件包。version是软件包的版本。author和author_email用于标识软件包的作者分别用来标明作者名称与邮箱。description是该软件包的简短描述。long_description是程序包的详细说明。这在Python软件包索引的软件包详细信息软件包中显示。在这种情况下通常的模式是从README.md加载详细描述。long_description_content_type告诉索引用于长描述的标记类型在此情况下它是Markdown语言packages是应该包含在分发软件包中的所有Python导入软件包的列表。无需手动列出每个程序包我们可以使用find_packages()自动发现所有程序包和子程序包。以上示例我们使用了手动列出的方式。classifiers为您的软件包提供额外信息。这时候我们就可以着手将我们的package打包了进入管理员环境下的命令行工具中进入rootFile文件夹位置可以复制下这个文件地址cd进入。执行:Python setup.py install若命令行中打印出的信息显示无误则您的package已经打包完成我们在同一磁盘的其他文件夹中创建一个test.py进行测试#test.py:importexample_package.example_module as module1importexample_package.example_package2.example_module as module2module1.module_class.print_hello()module1.printMyName()print(module1.myName)module2.module_class.print_hello()module2.printMyName()print(module2.myName)运行test.py输出: This ismy first modulejobsofferingsjobsofferings This ismy second modulejobsofferings jobsofferings则说明您的package已经打包完成由于通过包管理工具setuptools发布您可以在您的python安装目录下找到这个打包文件后缀为.egg但egg包不一定是扩展名是egg的其实在linux里面是不区分扩展名的。在理想情况中egg 是一个使用zip 压缩的文件类似于java中的jar包其中包括了所有需要的包文件。您也可以在rootFile下找到这个egg文件但事实上将dist文件夹删掉之后还是可以使用这个package因为import导入的搜索路径为程序主目录、PYTHONPATH目录、标准链接库目录、.pth文件目录所以程序会到您的python安装目录下找到这个打包文件。进入命令行工具中输入where python可以找到您的python安装路径进入./Lib/site-packages在这个文件夹中就可以看到您的打包文件。