2012-04-08 35 views
7

Tôi mới sử dụng Python và chỉ cần cài đặt PyCharm cho Windows. Đã tải xuống một số mã mẫu từ Skype để kiểm tra API SkypeKit của họ. Nhưng ... Ngay khi tôi nhấn nút gỡ lỗi, tôi có được điều này: (Tôi đã Python 2.7 và Django 1,4 cài đặt)TênError: tên 'N_TOKENS' không được xác định

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 

không bình này và những gì tôi có thể làm gì để khắc phục nó?

+0

Tính năng này có hoạt động với PyCharm 2.5 có sẵn tại http://confluence.jetbrains.net/display/PYH/JetBrains+PyCharm+Preview? – CrazyCoder

+0

@CrazyCoder Có nó làm việc với sự giúp đỡ của Riaz Rizvi để bám vào bản phát hành ổn định cho bây giờ. – BlueVoodoo

Trả lời

12

Mô-đun tokenize.py có thể tải mô-đun token.py sai. Xem error importing numpy. Giải pháp 1) đổi tên token.py mới (token2.py) và cập nhật các tham chiếu đến nó trong tokenize.py vv Giải pháp 2) nếu token.py mới nằm trong gói python, bạn có thể phân biệt câu lệnh import:

import CorrectPythonPackage.token as token2 

#or 

from CorrectPythonPackage.token import * 

Trường hợp CorrectPythonPackage là tên thư mục chứa tệp tin token.py.

+0

Cảm ơn. Đổi tên nó thành token2.py và thay đổi thành "from token2 import *" trong tokenize.py đã thực hiện thủ thuật. – BlueVoodoo

6

Trong trường hợp của tôi, tôi đã tạo ra một bài tập phân tích cú pháp một tệp có tên token.py gây ra xung đột không gian tên ban đầu. Tuy nhiên, chỉ cần đổi tên tệp trong dự án Eclipse không phải lúc nào cũng khắc phục được sự cố. Đôi khi một tệp bytecode được biên dịch có đuôi * .pyc được tạo khi chạy python. Bạn cũng có thể phải tìm và xóa nó bằng cách sử dụng các lệnh hệ thống tập tin.

0

Tôi thấy điều này khi tôi đã kích hoạt virtualenv, nhưng không thay đổi thành thư mục venv. Cố gắng nhập mã thông báo (từ mã zip của mô-đun hệ thống) bị lỗi.

Thay đổi thư mục làm việc của tôi thành thư mục gốc của môi trường ảo đã giải quyết được vấn đề (có thể là vấn đề đường dẫn tương đối).

2

nó có hiệu quả đối với tôi.

  1. đổi tên tập tin /usr/lib/python2.7/token.py để /usr/lib/python2.7/token2.py
  2. mở /usr/lib/python2.7/tokenize.py
  3. thay đổi from token import * để from token2 import *

thực hiện.

+0

Làm việc cho tôi quá, cảm ơn! –

Các vấn đề liên quan