ModuleNotFoundError: 没有名为"theano.tensor.shared_randomstreams"的模块



我试图使用pyinstaller将我的python代码转换为可执行文件。我使用的是ubuntu 18.04,pyinstaller=3.5,setuptools=41.2.0。当我运行可执行文件时,我得到以下错误:

Using Theano backend.
Traceback (most recent call last):
File "main_test.py", line 25, in <module>
File "/home/g2-test/anaconda3/envs/ashna/lib/python3.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "code.py", line 2, in <module>
File "/home/g2-test/anaconda3/envs/ashna/lib/python3.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "site-packages/keras/__init__.py", line 3, in <module>
File "/home/g2-test/anaconda3/envs/ashna/lib/python3.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "site-packages/keras/utils/__init__.py", line 6, in <module>
File "/home/g2-test/anaconda3/envs/ashna/lib/python3.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "site-packages/keras/utils/conv_utils.py", line 9, in <module>
File "/home/g2-test/anaconda3/envs/ashna/lib/python3.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "site-packages/keras/backend/__init__.py", line 1, in <module>
File "/home/g2-test/anaconda3/envs/ashna/lib/python3.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "site-packages/keras/backend/load_backend.py", line 87, in <module>
File "/home/g2-test/anaconda3/envs/ashna/lib/python3.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "site-packages/keras/backend/theano_backend.py", line 7, in <module>
File "/home/g2-test/anaconda3/envs/ashna/lib/python3.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "site-packages/theano/__init__.py", line 247, in <module>
ModuleNotFoundError: No module named 'theano.tensor.shared_randomstreams'
[6919] Failed to execute script main_test

我使用

pyinstaller--一个文件main_test.py

生成可执行文件。我使用了keras,但在运行可执行文件时,它显示为使用了no后端。有人能帮我解决这个问题吗。

重新创建以下内容:

- your.code.files.py
- hooks
- hook-theano.py

并且在hook-theano.py:中

from PyInstaller.utils.hooks import collect_all
datas, binaries, hiddenimports = collect_all('theano')

然后使用额外的选项--addtional-hooks-dir=hooks进行构建。

如果您遇到更多模块未找到错误的其他问题(假设您找不到mymod.pkg.func(,请在hooks下创建一个名为hook-mymod.py的新文件。

  1. 打开终端
  2. 类型sudo pip3 install theano

如果它无法识别命令pip3,则通过执行此操作检查pip是否已安装,假设它已安装。如果不是类型sudo apt-get install pip3

最新更新