如果在不同的路径中,py2exe 找不到模块

py2exe can't find module if in different path

我正在尝试使用以下配置选项创建一个 exe -

setup(name='tidalZabbix',
      version=version,
      description='python module to submit job stats to Zabbix',
      url='',
      author='Me',
      author_email='me@company.com',
      license='',
      # folders with functions
      console=[{'script': os.path.join(BASE_DIR, 'code/tidal_zabbix.py')}],
      options={
          'build': {'build_base': 'c:/tidalZabbix/build'},
          'py2exe':
              {
                  'dist_dir': 'c:/tidalZabbix',
                  'includes': ['decimal'],
              }
      }
      )

我在代码目录中有一个单独的模块,名为 code/ZabbixSender.py

当我尝试 运行 python setup.py py2exe 时,出现以下错误 -

The following modules appear to be missing
['ZabbixSender']

如果我将 ZabbixSender.py 移动到与 setup.py 相同的位置,构建工作正常。

即。如果我这样做:

'includes': ['decimal', 'code.ZabbixSender'],

'includes': ['decimal', 'ZabbixSender'],

仍然没有找到模块。

我认为这是 p2exe 报告的错误。

该解决方案与我的 py2exe 配置无关,但在正在调用的 tidal_zabbix.py 脚本中。

这是 "incorrect" 导入

from ZabbixSender import ZabbixPacket, ZabbixSender

我把它修改成这个 -

from code.ZabbixSender import ZabbixPacket, ZabbixSender

构建没有任何问题。奇怪的是,直接从 python 考虑 运行 代码没有问题。