Python 中 __init__.py 文件以及 minifest.in 的作用

问题:

今天遇到 打包时,whl 没有将有关的文件 打包进 whl 中。


解决问题:

  • 新建的文件夹中没有 "__init __.py " 文件
  • MANIFEST.in 文件中添加需要拷贝的操作

具体详细解释:

__init __.py 作用
  1. 标识该目录是一个python的模块包(module package)
      如果你是使用python的相关IDE来进行开发,那么如果目录中存在该文件,该目录就会被识别为 module package 。
  2. 简化模块导入操作
      如果你是使用python的相关IDE来进行开发,那么如果目录中存在该文件,该目录就会被识别为 module package 。
      example:
from mypackage.subpackage_1 import test11
from mypackage.subpackage_1 import test12
  1. 配置模块的初始化操作
      在了解了 init.py 的工作原理后,应该能理解该文件就是一个正常的python代码文件。因此可以将初始化代码放入该文件中。
MANIFEST.in 作用

MANIFEST.in允许您控制包中包含的文件。

默认情况下,当您实际打包python代码(使用,比方说python setup.py sdist)创建用于分发的压缩存档时,打包程序将仅在包存档中包含一组特定文件(例如,python代码本身)。如果您的存储库中包含文本文件(例如,模板)或图形(用于您的文档),该怎么办?默认情况下,打包程序不会在归档中包含这些文件,并且它将不完整。

MANIFEST.in 允许您覆盖默认值,准确指定zip存档中包含的文件以供分发。

以 VTK PythonPackage 为例:
VTKPythonPackage

example:

include CMakeLists.txt
include cmake/*.cmake
include README.md
include vtkVersion.py
include scripts/dockcross-manylinux-build-wheels.sh
recursive-include scripts/internal *
include setup.py
include vtk/__init__.py

在打包whl时,包含同目录的一些文件,如cmakelist.txt, cmake/*.cmake README.md vtkVersion.py
scripts/dockcross-manylinux-build-wheels.sh vtk/init.py setup.py 以及 迭代的包含 scripts/internal 中的文件。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值