При использовании синтаксической ошибки Pyinstaller 2.0 в pyinstaller-2.0 / PyInstaller / lib / macholib / util.py

Я только что установил PyInstaller 2.0 и пытался использовать его для создания исполняемого файла скрипта Python. Однако из терминала, когда я cd в каталог pyinstaller-2.0 и запускаю команду, указанную во включенном текстовом файле README, следующим образом:

python pyinstaller.py Path/to/my/application.py

Я получаю сообщение об ошибке, которое, похоже, указывает на синтаксическую ошибку в одном из файлов PyInstaller:

File "pyinstaller.py", line 26, in <module>
    import PyInstaller.build
  File "/Desktop/pyinstaller-2.0/PyInstaller/build.py", line 30, in <module>
    import bindepend
  File "/Desktop/pyinstaller-2.0/PyInstaller/bindepend.py", line 30, in <module>
    from PyInstaller.depend import dylib
  File "/Desktop/pyinstaller-2.0/PyInstaller/depend/dylib.py", line 149, in <module>
    from PyInstaller.lib.macholib import util
  File "/Desktop/pyinstaller-2.0/PyInstaller/lib/macholib/util.py", line 136
    except (IOError, os.error) as why:
                                ^
SyntaxError: invalid syntax

Есть ли шаг, который мне не хватает? Это обычная ошибка? Я использую Python 2.5.1 в Mac OSX 10.5.8.


person Christian    schedule 30.12.2012    source источник


Ответы (1)


Python 2.5 не использует формат except Exception as name:. Вместо этого используйте except Exception, name:.

Для получения дополнительной информации см. http://docs.python.org/2.5/tut/node10.html

person Community    schedule 30.12.2012
comment
так PyInstaller 2.0 несовместим с Python 2.5? Это кажется странным, поскольку на веб-сайте указано, что он работает с любой версией Python, начиная с 2.3 - pyinstaller.org/report/1?sort=milestone&asc=0&page=2 - person Christian; 30.12.2012
comment
На своем веб-сайте они заявляют, что Multiversion: работает с любой версией Python от 2.3 до 2.7., поэтому возможно, что что-то еще не так. Кстати, вы пытаетесь запустить модуль Pyinstaller вместе со своим приложением? Если да, то правильный синтаксис - python -m pyinstaller.py Path/to/my/application.py. - person ; 30.12.2012
comment
Правильно, извините, но 2.5.1 попадает в эту категорию. И я не уверен, является ли команда для создания исполняемого файла из командной строки модулем? когда я запускаю команду, как указано выше: python -m PyInstaller Path/to/application.py Кажется, что она успешно завершена, но не создает исполняемый файл. - person Christian; 30.12.2012
comment
Возможно, вам может потребоваться передать ему аргумент, указывающий, куда поместить исполняемый файл. -o /path/file - обычно аргумент, используемый для указания местоположения выходного файла. Если это не сработает, вы можете попробовать -h распечатать справочное сообщение. - person ; 30.12.2012
comment
Ах. Когда я пробую любой из этих дополнительных аргументов, команда завершает связанные каталоги (dist..etc), а исполняемый файл не создается. Я сбит с толку, потому что в прилагаемом руководстве говорится, что нужно запускать: python pyinstaller.py [opts] yourprogram.py из каталога pyinstaller, который генерирует недопустимую синтаксическую ошибку, показанную выше. Аргумент -h не работает при использовании синтаксиса модуля. - person Christian; 30.12.2012
comment
Кстати, согласно Pyinstaller документации, если вам нужен один файл, используйте параметр --onefile. Честно говоря, я не уверен, в чем проблема ... Я сам не использую Pyinstaller. Я могу сказать вам, что причина, по которой вы получаете указанную выше ошибку, заключается в том, что он пытается запустить код Python, который не имеет надлежащего синтаксиса для интерпретатора Python 2.5. Я собираюсь проголосовать за это и надеюсь, что кто-то еще опубликует более содержательный ответ. - person ; 30.12.2012
comment
Спасибо за попытку, на данный момент я предполагаю, что в программе есть ошибка, как вы указали. Надеюсь, кто-нибудь опубликует обходной путь. - person Christian; 30.12.2012