0

我使用pyinstaller -F ./parser.spec.
然后我运行程序./dist/parser并得到这个错误:

Traceback (most recent call last):
  File "<string>", line 21, in <module>
ImportError: No module named 'rethinkdb'
parser returned -1

我试图创建一个挂钩文件,但说实话,我真的觉得我不知道自己在做什么。

rethinkdbhiddenimportspyparser不会向我抛出任何错误,表明可能有什么问题。

解析器
#!/usr/bin/env python
...
import rethinkdb
...
解析器规范
...
a = Analysis(
    ['parser'],
    pathex=[os.path.realpath('./env/lib/python3.3/site-packages/')],
    binaries=None,
    datas=added_files,
    hiddenimports=['rethinkdb'],
    hookspath=[os.path.realpath('./hooks')],
    runtime_hooks=None,
    excludes=None,
    win_no_prefer_redirects=None,
    win_private_assemblies=None,
    cipher=block_cipher
)
...
钩子/钩子-rethinkdb.py
hiddenimports = [
    'ssl',
    'cPickle',
    'pickle',
    'itertools',
    'multiprocessing',
    'builtins',
    'rethinkdb',
    'rethinkdb.ast',
    'rethinkdb.errors',
    'rethinkdb.net',
    'rethinkdb.ql2_pb2',
    'rethinkdb.query',
    'rethinkdb.version',
]
4

1 回答 1

0

我在制作一个应用程序时遇到了同样的问题,但它很容易解决。我不确定它是否适合你,但我至少会尝试一下,因为它真的很容易。不要编辑规范文件,而是尝试在命令行中运行它:

pyinstaller --paths=C:/Users/.../Python34/Lib/site-packages filename.py

显然将路径更改为您计算机的正确路径。希望这会有所帮助,如果不是,我希望您能找到答案。

于 2016-01-24T00:53:41.813 回答