Получение ошибки при компиляции приложения с Py2app на Python 2.7 (поднять ImportError («Без имени модуля» + qname))

1

Я нахожусь на Mac 10.14, Python 2.7 (установлен из двоичного файла, загруженного с https://www.python.org), работающего из /Library/Frameworks/Python.framework/Versions/2.7/bin/python. У меня установлена py2app, последняя версия, но при попытке скомпилировать приложения я получаю следующую ошибку:

MacBook-Pro:Audio_Export_App kevin$ sudo python setup.py py2app
Password:
running py2app
creating /Users/kevin/python_scripts/Audio_Export_App/build
creating /Users/kevin/python_scripts/Audio_Export_App/build/bdist.macosx-10.9-x86_64
creating /Users/kevin/python_scripts/Audio_Export_App/build/bdist.macosx-10.9-x86_64/python2.7-standalone
creating /Users/kevin/python_scripts/Audio_Export_App/build/bdist.macosx-10.9-x86_64/python2.7-standalone/app
creating /Users/kevin/python_scripts/Audio_Export_App/build/bdist.macosx-10.9-x86_64/python2.7-standalone/app/collect
creating /Users/kevin/python_scripts/Audio_Export_App/build/bdist.macosx-10.9-x86_64/python2.7-standalone/app/temp
creating /Users/kevin/python_scripts/Audio_Export_App/dist
creating build/bdist.macosx-10.9-x86_64/python2.7-standalone/app/lib-dynload
creating build/bdist.macosx-10.9-x86_64/python2.7-standalone/app/Frameworks
--- Skipping recipe pyside ---
*** using recipe: subprocess ***
--- Skipping recipe pyside ---
*** using recipe: virtualenv ***
--- Skipping recipe pyside ---
--- Skipping recipe lxml ---
--- Skipping recipe PIL ---
*** using recipe: importlib ***
--- Skipping recipe pyside ---
--- Skipping recipe lxml ---
--- Skipping recipe PIL ---
*** using recipe: re ***
--- Skipping recipe pyside ---
--- Skipping recipe lxml ---
--- Skipping recipe PIL ---
Traceback (most recent call last):
  File "setup.py", line 23, in <module>
    setup_requires=['py2app'],
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools/__init__.py", line 140, in setup
    return distutils.core.setup(**attrs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/py2app/build_app.py", line 838, in run
    self._run()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/py2app/build_app.py", line 1053, in _run
    self.run_normal()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/py2app/build_app.py", line 1150, in run_normal
    self.process_recipes(mf, filters, flatpackages, loader_files)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/py2app/build_app.py", line 1007, in process_recipes
    rval = check(self, mf)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/py2app/recipes/six.py", line 113, in check
    mf.import_hook(nm, m)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/modulegraph/modulegraph.py", line 1082, in import_hook
    q, tail = self._find_head_package(parent, name, level)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/modulegraph/modulegraph.py", line 1182, in _find_head_package
    raise ImportError("No module named " + qname)
ImportError: No module named gdbm

Я не могу найти, что здесь не так. Любые предложения, пожалуйста?

  • 0
    Там, вероятно, нет модуля с именем gdbm ? Я, честно говоря, понятия не имею, что это такое, и должен ли он быть установлен в этом контексте. Попробуйте pip install gdbm ?
  • 0
    pip install gdbm был первым, что я попробовал, но «Не удалось найти версию, которая удовлетворяет требованию gdbm (из версий:) Не найдено подходящего дистрибутива для gdbm»
Теги:
macos
python-2.7
py2app

1 ответ

0

В настоящее время (декабрь 2018 г.) существует проблема с версией Py2app для Python 2.7. Мне удалось заставить его работать, используя более старую версию:

py2app==0.16

РЕДАКТИРОВАТЬ 21-12-2018: проблема заключается в том, что поддержка six.moves была добавлена в 0,17. Я сообщил о проблеме: https://bitbucket.org/ronaldoussoren/py2app/issues/257/sixmoves-recipe-broke-something

  • 0
    Вы можете уточнить исправление? Как получить / запустить более старую версию py2app?
  • 1
    Вы запускаете pip install py2app==0.16 , это удалит установленный в настоящее время py2app и заменит его конкретной версией.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню