2015-01-31 4 views
3

Я борюсь несколько часов, пытаясь настроить PyCharm для отладки моего приложения. Я искал решение, но скрученный, кажется, не так популярен, и есть слабая поддержка. Ниже я ставлю журнал ошибок, которые у меня есть.Отладка скрученного приложения с использованием PyCharm

/usr/local/bin/python3.4m -u /Applications/PyCharm CE.app/Contents/helpers/pydev/pydev_run_in_console.py 57276 57277 /usr/bin/twistd -y /Users/artur/projs/private/elanga-web/start_app.tac 
Running /usr/bin/twistd 
PyDev console: starting. 
Traceback (most recent call last): 
    File "/usr/bin/twistd", line 7, in <module> 
    import _preamble 
ImportError: No module named '_preamble' 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "/Applications/PyCharm CE.app/Contents/helpers/pydev/pydev_run_in_console.py", line 68, in <module> 
    globals = run_file(file, None, None) 
    File "/Applications/PyCharm CE.app/Contents/helpers/pydev/pydev_run_in_console.py", line 28, in run_file 
    pydev_imports.execfile(file, globals, locals) # execute the script 
    File "/Applications/PyCharm CE.app/Contents/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile 
    exec(compile(contents+"\n", file, 'exec'), glob, loc) 
    File "/usr/bin/twistd", line 9, in <module> 
    sys.exc_clear() 
AttributeError: 'module' object has no attribute 'exc_clear' 

Process finished with exit code 1 
Couldn't connect to console process. 

будет благодарен за ответ, почему нет такого модуля, как _preamble

ответ

6

На OS X, /usr/bin/twistd представляет собой версию Twisted установлен в системе питон. Это не python 3.4. Симптом, который вы видите, не является отсутствующим модулем _preamble (который фактически является , а не, который должен быть установлен, поэтому есть блок except вокруг этого импорта, захватывающий исключение), а скорее, что вы указали на python 3.4 на некоторых случайная программа python 2.

Если вы хотите запустить python 3.4, вам необходимо создать среду python 3 с установленной Twisted. Имейте в виду, что не все Twisted портированы, поэтому вам будет доступно только подмножество API. Одной из вещей, которая еще не перенесена на python 3, является командная строка twistd, поэтому нет возможности запускать twistd с помощью python 3.

Смежные вопросы