поиграться с py2app

Я играл с py2app на Snow Leopard (10.6) и столкнулся с несколькими проблемами при запуске

python setup.py py2app

Я получаю следующую ошибку: -

% python setup.py py2app
running py2app
Traceback (most recent call last):
  File "setup.py", line 18, in <module>
    setup_requires=['py2app'],
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/core.py", line 152, in setup
    dist.run_commands()
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/dist.py", line 975, in run_commands
    self.run_command(cmd)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/dist.py", line 995, in run_command
    cmd_obj.run()
  File "/Library/Python/2.6/site-packages/py2app-0.7.3-py2.6.egg/py2app/build_app.py", line 502, in run
    if sysconfig.get_config_var('PYTHONFRAMEWORK') is None:
AttributeError: 'NoneType' object has no attribute 'get_config_var'

Я установил py2app в соответствии с документацией здесь, однако кажется, есть несколько переменных среды, которые я не установил. Я также попытался клонировать несколько проектов, таких как здесь, и получил ту же ошибку.

Может ли кто-нибудь указать мне на документацию, в которой упоминается, как я должен настроить py2app перед использованием? Спасибо.


person Community    schedule 23.02.2013    source источник


Ответы (2)


Эта документация по py2app устарела; вам следует использовать здесь.

Как вы можете видеть из трассировки стека, которую вы вставили, что-то заставляет distutils.sysconfig быть None. Похоже, вы используете системные версии Python и distutils, которые отлично работают для меня на 10.6.8:

% /usr/bin/python -c "from distutils import sysconfig; print sysconfig.get_config_var('PYTHONFRAMEWORK')"
Python

Поэтому, если вы получите результат, отличный от приведенного выше, вы можете начать с него, в противном случае вы можете начать отладку кода py2app, чтобы понять, почему sysconfig является None.

person Nicholas Riley    schedule 23.02.2013

Это ошибка в py2app, быстрый обходной путь: в build_app.py (см. трассировку в вопросе о его местонахождении) в строке 25 измените «sysconfig = None» на «from distutils import sysconfig».

Я зарегистрировал проблему в трекере py2app[1] и скоро выпущу новый релиз (как только у меня будет время создать и протестировать патч).

[1] https://bitbucket.org/ronaldoussoren/py2app/issue/96/py2app-doesnt-work-with-python-26-anymore

person Ronald Oussoren    schedule 24.02.2013
comment
Это исправило это для меня. Спасибо :) - person Thomas; 05.07.2013