Pyinstaller无法与Panda3D一起使用-找不到“直接”模块

时间:2019-08-30 14:58:19

标签: python bash macos path python-3.7

我正在研究一些Panda3D教程,并创建了一些简单的程序。在不久的将来,我希望能够使用PyInstaller将我的Panda3D程序捆绑到一个独立的应用程序中。

但是,即使使用最简单的程序,我也遇到了一个奇怪的问题。

我已经使用了命令pyinstaller -F -c -w 01\ –\ blank\ window.py

它可以正常工作,并在dist文件夹中创建Unix可执行文件和macOS .app文件。但是,它们都不起作用,它们只是立即打开和关闭。经过研究,我找到了问题的根源。

当我从Terminal运行任何可执行文件时,都会出现此错误:

Traceback (most recent call last):
  File "01 – blank window.py", line 1, in <module>
    from direct.showbase.ShowBase import ShowBase
ModuleNotFoundError: No module named 'direct'
[29403] Failed to execute script 01 – blank window

我不知道为什么会发生此错误,因为使用python3 01\ –\ blank\ window.py或直接从VS Code运行时,我的程序运行良好。

  

如何解决以上错误?

规格:

macOS 10.14.6(Mojave)

我的系统具有Python 2.7(macOS附带)和Python 3.7。我一直使用Python 3.7。尽管我不确定Panda3D使用的是哪个版本的Python,因为SDK附带了自己的版本。

Panda3D 1.10.4.1

direct模块位于/Developer/Panda3D/direct,而我的PATH/Library/Frameworks/Python.framework/Versions/3.7/bin://anaconda3/condabin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/akaash_home/Library/Python/3.7/bin:/Developer/Panda3D/bin

此外,我想知道是否在外部硬盘驱动器上运行这些文件并使用PyInstaller将应用程序放在同一驱动器上是否有区别。

编辑:

我还尝试添加选项--hidden-import=direct,但这没什么区别。

1 个答案:

答案 0 :(得分:1)

通常pyinstaller仅找到pip或anaconda安装的软件包。将panda3d模块复制到01 – blank window.py方向可以解决问题,如何在comment from AkThao中进行描述。