我使用pyinstaller -F ./parser.spec
進行編譯。
然後我運行./dist/parser
程序,出現此錯誤:PyInstaller - ImportError:沒有名爲'rethinkdb'的模塊
Traceback (most recent call last):
File "<string>", line 21, in <module>
ImportError: No module named 'rethinkdb'
parser returned -1
我試圖創建一個鉤子文件,但說實話,我真的覺得我不知道我在做什麼。
rethinkdb
在hiddenimports
但是pyparser
不會向我發出任何錯誤,指出可能是錯誤的。
#!/usr/bin/env python
...
import rethinkdb
...
parser.spec
...
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
)
...
鉤/ hook-rethinkdb.py
hiddenimports = [
'ssl',
'cPickle',
'pickle',
'itertools',
'multiprocessing',
'builtins',
'rethinkdb',
'rethinkdb.ast',
'rethinkdb.errors',
'rethinkdb.net',
'rethinkdb.ql2_pb2',
'rethinkdb.query',
'rethinkdb.version',
]
使用'pyinstaller'有什麼好處? – dalanmiller
我將應用程序作爲獨立的命令行程序進行捆綁,該程序可以放在'/ usr/local/bin'中而不需要依賴關係。有些人不能也不應該被期望知道git,python,virtualenvs等...... – demux
@dalanmiller,在一個相關的問題上,爲什麼''rethinkdb'的python-driver'不在github上?我想我已經找到了這個問題。我想分叉驅動程序並解決問題,但由於驅動程序不在github上,我想我必須創建一個新的repo。 – demux