如何告诉pyinstaller如何找到使用点符号的站点包模块

时间:2019-06-26 12:42:38

标签: python pyinstaller

我有一个脚本,试图使用pyinstaller转换为Windows .exe。主脚本会导入一个模块,该模块的软件包名称中带有一个“点”。它实际上是我们自己的软件包之一,我们对其进行了命名,以表明所有权并避免名称冲突。

因此,它已被安装到虚拟环境site-packages文件夹中,并且可以从CLI运行脚本,但是在生成.exe时报告缺少导入。

此帖子Importing local modules that are dot referenced with PyInstaller非常相似。但是,解决方案是放平包装,我想看看是否可以避免这样做。

我之前已经完成了pyinstaller的构建,但必须承认这可能是我第一次尝试使用我们正在研究的当前项目之外的某个软件包。

我已将虚拟环境包含在我的.spec文件pathex元素中,并且还在“隐藏导入”部分中包含了引用。

主脚本按照...导入模块 import company.common.utils

站点包中的Source Distribution文件夹结构为

\company\
  __init__.py
  \common\
    __init__.py
    utils.py 

我希望我仍然可以保留通用库代码的结构而不必对其进行展平,并且我还希望避免手动将包从site-packages复制到dist文件夹中。

将感谢您的任何建议。预先感谢。

0 个答案:

没有答案