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

时间:2016-04-01 20:33:38

标签: python python-2.7 py2exe

我尝试使用以下配置选项创建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'],

它仍然找不到模块。

1 个答案:

答案 0 :(得分:1)

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

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

这是"不正确"进口

from ZabbixSender import ZabbixPacket, ZabbixSender

一旦我将其修改为 -

from code.ZabbixSender import ZabbixPacket, ZabbixSender

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