Pyinstaller, SPEC-файл, ImportError: Нет модуля с именем «BLAH»

Я пытаюсь построить сценарий Python через Pyinstaller . Я использовал следующие команды, чтобы настроить, генерировать файл спецификации, а также построить:

wget pyinstaller.zip, extracted it, python Configure.py, etc, then:

python pyinstaller/Makespec.py --onefile myscript.py
python pyinstaller/Build.py myscript.spec 

Вот файл спецификации, который он создал:

# -*- mode: python -*-
a = Analysis([os.path.join(HOMEPATH,'support/_mountzlib.py'), os.path.join(HOMEPATH,'support/useUnicode.py'), 'icinga.py'],
             pathex=['/home/user/projects/icinga_python/releases/v2.1'])
pyz = PYZ(a.pure)
exe = EXE( pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          name=os.path.join('dist', 'myscript'),
          debug=False,
          strip=False,
          upx=True,
          console=1 )

Это создало исполняемый файл в Dist / каталог. При попытке запустить этот файл, я получаю следующее:

Traceback (most recent call last):
  File "", line 12, in 
  File "/home/user/projects/myscript/releases/v2.1/pyinstaller/iu.py", line 455, in importHook
    raise ImportError, "No module named %s" % fqname
ImportError: No module named mysql

Если я переместил этот исполняемый в каталог фактического кода Python, он дал разные результаты:

Traceback (most recent call last):
  File "", line 12, in 
  File "/home/user/projects/myscript/releases/v2.1/pyinstaller/iu.py", line 436, in importHook
    mod = _self_doimport(nm, ctx, fqname)
  File "/home/user/projects/myscript/releases/v2.1/pyinstaller/iu.py", line 521, in doimport
    exec co in mod.__dict__
  File "CLUSTER/mysql/icingasql.py", line 13, in 
    import urllib2
  File "/home/user/projects/myscript/releases/v2.1/pyinstaller/iu.py", line 455, in importHook
    raise ImportError, "No module named %s" % fqname
ImportError: No module named urllib2

в ... Pyinstaller Docs Я вижу, что - onefile - это вариант, который мне нужен / хочу, но по какой-то причине не все компилируется.

Сценарий на самом деле не включает в себя ничего необычного, просто мало быстрых модулей. SQL-заявления и разбор определенных сайтов.

14
задан Paolo 27 January 2018 в 22:09
поделиться