NameError:未定义名称"N_TOKENS"

Blu*_*doo 8 python pycharm python-2.7

我是Python新手,刚刚安装了PyCharm for 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
Run Code Online (Sandbox Code Playgroud)

这意味着什么,我该怎么做才能解决它?

Ria*_*zvi 13

tokenize.py模块可能正在加载错误的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 *
Run Code Online (Sandbox Code Playgroud)

其中CorrectPythonPackage是包含token.py文件的文件夹名称.


小智 6

在我的例子中,我创建了一个名为token.py的文件作为解析练习,导致初始命名空间冲突.但是,只需在Eclipse项目中重命名文件并不能始终解决问题.有时在运行python时会创建一个带有*.pyc结尾的已编译字节码文件.您可能还必须使用filesystem命令查找和删除它.