Вопрос по python, python-2.7 – NameError: имя 'N_TOKENS' не определено

8

Я новичок в Python и только что нашел время для установки PyCharm для Windows. Загрузил пример кода из Skype для тестирования их SkypeKit API. Но ... Как только я нажимаю кнопку отладки, я получаю следующее: (У меня установлены Python 2.7 и Django 1.4)

Traceback (most recent call last):
  File "C:\Program Files (x86)\JetBrains\PyCharm 2.0.2\helpers\pydev\pydevd.py", line 2, in <module>
    from django_debug import DjangoLineBreakpoint
  File "C:\Program Files (x86)\JetBrains\PyCharm 2.0.2\helpers\pydev\django_debug.py", line 1, in <module>
    import inspect
  File "C:\Program Files (x86)\Python27\lib\inspect.py", line 39, in <module>
    import tokenize
  File "C:\Program Files (x86)\Python27\lib\tokenize.py", line 38, in <module>
    COMMENT = N_TOKENS
NameError: name 'N_TOKENS' is not defined

Process finished with exit code 1

Что это значит и что я могу сделать, чтобы это исправить?

@CrazyCoder Работал с помощью Riaz Rizvi, так что сейчас придерживаемся стабильной версии. BlueVoodoo
Работает ли он с PyCharm 2.5, доступным наconfluence.jetbrains.net/display/PYH/JetBrains+PyCharm+Preview? CrazyCoder

Ваш Ответ

5   ответов
6

token.py, который вызвал первоначальный конфликт пространства имен. Однако простое переименование файла в проекте Eclipse не всегда решает проблему. Иногда при запуске python создается скомпилированный файл байт-кода с окончанием * .pyc. Вам также может понадобиться найти и удалить это с помощью команд файловой системы.

1

вы назвали модуль своей программы "токеном". Переименуйте это и измените свои операторы импорта, и вы можете исправить свою проблему. Если это ошибка разработчика, укажите, пожалуйста, на мой ответ. У меня была та же ошибка при попытке исправить Pylaga на sourceforge, и решил ее таким образом. В этом случае также обрабатывался путь импорта python, что могло вынудить python импортировать программный token.py вместо своего собственного и не смог токенизировать вещи (фактически, N_TOKENS определен в собственном токене Python. py, например /usr/lib64/python2.7/token.py).

0

когда активировал virtualenv, но не перешел в каталог venv. Попытка импортировать токен (из архива системных модулей) не удалась.

Изменение моего рабочего каталога в корень виртуальной среды решило проблему (предположительно, проблему относительного пути).

13

вероятно, загружает неправильный модуль token.py. УвидетьОшибка импорта NumPy, Решение 1) переименуйте новый token.py (token2.py) и обновите ссылки на него в tokenize.py и т. Д. Решение 2) если новый token.py находится в пакете python, вы можете устранить неоднозначность в выражении import:

import CorrectPythonPackage.token as token2

#or 

from CorrectPythonPackage.token import *

Где CorrectPythonPackage - это имя папки, содержащей файл token.py.

Error: User Rate Limit Exceeded BlueVoodoo
3

rename file /usr/lib/python2.7/token.py to /usr/lib/python2.7/token2.py open /usr/lib/python2.7/tokenize.py change from token import * to from token2 import *

сделанный.

Error: User Rate Limit Exceeded

Похожие вопросы