【问题标题】:AttributeError: module 'opcode' has no attribute '__file__' for nuitka executable in a project including pandas and numpyAttributeError: module 'opcode' has no attribute '__file__' for nuitka executable in a project including pandas and numpy
【发布时间】:2019-10-24 09:23:16
【问题描述】:

我正在尝试使用 nuitka 编译一个包含 numpy 和 pandas 的 python 项目,但无论我如何编译它,在启动最终可执行文件时都会出错。 对于编译,我使用下一个命令:

python -m nuitka --standalone --follow-imports --plugin-enable=numpy --include-plugin-directory=.venv/lib/python3.6/site-packages/pandas --include-plugin-directory=.venv/lib/python3.6/site-packages/numpy --show-progress --show-scons newick2phylipmatrix.py

但是当我尝试启动编译生成的可执行文件时,我收到以下消息:

Traceback (most recent call last):
  File "/home/mindsound/sandbox/distMatrix/newick2phylipmatrix.dist/newick2phylipmatrix.py", line 6, in <module>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "/home/mindsound/sandbox/distMatrix/newick2phylipmatrix.dist/pandas/__init__.py", line 22, in <module pandas>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "/home/mindsound/sandbox/distMatrix/newick2phylipmatrix.dist/pandas/compat/numpy/__init__.py", line 3, in <module pandas.compat.numpy>
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "/home/mindsound/sandbox/distMatrix/newick2phylipmatrix.dist/distutils/__init__.py", line 11, in <module>
AttributeError: module 'opcode' has no attribute '__file__'

目前没有对代码进行任何更改,我设法用 pyinstaller 创建了一个独立的,但我不能用 nuitka 做到这一点,但如果可能的话,我想用它来从编译优化中受益。

您知道这个问题是从哪里来的吗?是否可以解决?

【问题讨论】:

  • 好吧,即使我也面临同样的问题。并一直在寻找解决方案。但是要在同一时间进行任何锻炼。在 Nuitka 网站上也发布了相同的内容,但也在等待他们的解决方案。

标签: python pandas numpy nuitka


【解决方案1】:

好吧,我终于得到了相同的解决方案。创建时由 virtualenv 创建/复制的 distutils 与 pythons 原始发行版中的不同。 Nuitka 的一位团队成员帮助我发现了同样的问题并帮助我找到了解决方案。那么我发现的选项是从 Pythons lib 文件夹中获取 distutils 并替换创建的 virtualenv 文件夹中现有的 distutils 文件夹,然后继续 - 编译相同。我坚信这个问题对你来说也会消失,因为它对我来说已经消失了。现在将为我的完整项目工作寻找合适的解决方案。

编译愉快:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-21
    • 2022-10-19
    • 2023-02-17
    • 2022-12-01
    • 2016-07-31
    • 2019-01-08
    • 2021-01-12
    • 2022-08-04
    相关资源
    最近更新 更多