python代码为pyinstaller的子文件夹

python代码为pyinstaller的子文件夹,python,python-3.x,pyinstaller,python-module,Python,Python 3.x,Pyinstaller,Python Module,假设这是我的文件结构: main.py modules |--> feature1.py |--> feature2.py |--> feature3.py 我的main.py代码如下: from modules.feature1 import Awesomefeature ... 我将以下规范文件用于: 不幸的是,我在将代码编译为windows可执行文件并执行此文件(main.exe文件)后收到以下消息: 在使用pyinstaller时,是否完全不可能有包含p

假设这是我的文件结构:

main.py
modules
  |--> feature1.py
  |--> feature2.py
  |--> feature3.py
我的
main.py
代码如下:

from modules.feature1 import Awesomefeature
...
我将以下规范文件用于:

不幸的是,我在将代码编译为windows可执行文件并执行此文件(main.exe文件)后收到以下消息:


在使用pyinstaller时,是否完全不可能有包含pythoncode的子文件夹

尝试使用根项目目录的路径将pathex列表添加到规范文件中

a = Analysis(['main.py']),
             pathex=['C:/Users/<user>/Path to the root directory'],
             # rest of spec file
a=Analysis(['main.py']),
pathex=['C:/Users//根目录']的路径,
#规范文件的其余部分

有时需要将模块位置添加到pathex列表中。这是pyinstaller将首先搜索的路径列表。

您的规范文件看起来很奇怪。你是用pyinstaller创建的吗?是的,但我在“暴力”尝试尝试所有可能的选项时忽略了一些标记。我尝试了,但得到了相同的消息。但是,可执行文件的文件大小增加了。我使用了:
pathex=['/src/','/src/modules/'],
从路径中删除前导和尾随'/'。
ModuleNotFoundError: no module named 'modules'
a = Analysis(['main.py']),
             pathex=['C:/Users/<user>/Path to the root directory'],
             # rest of spec file