2016-06-10 6 views
2

Ich habe gerade ein Problem mit PyCharm festgestellt. Obwohl ich einen Workaround gefunden habe, interessiert mich, ob es eine bessere Lösung für dieses Problem gibt.PyCharm referenziert älter, entfernte Variable

Während der Entwicklung hatte ich eine Variable namens rIndex. Ich habe nicht bemerkt, bis heute, dass es die folgenden Fehler werfen, mehrfach gesendet (2-4):

Traceback (most recent call last): 
    File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.1.4\helpers\pydev\_pydevd_bundle\pydevd_comm.py", line 1081, in do_it 
    result = pydevd_vars.evaluate_expression(self.thread_id, self.frame_id, self.expression, self.doExec) 
    File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.1.4\helpers\pydev\_pydevd_bundle\pydevd_vars.py", line 352, in evaluate_expression 
    Exec(expression, updated_globals, frame.f_locals) 
    File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.1.4\helpers\pydev\_pydevd_bundle\pydevd_exec.py", line 3, in Exec 
    exec exp in global_vars, local_vars 
    File "<string>", line 1 
    rIndex = {NameError}name 'rIndex' is not defined 
         ^
SyntaxError: invalid syntax 

Ich habe keine Ahnung, was das verursachen würde, so umbenannt ich meinen Variable RINDEX (als Ersatz für jede Instanz), sowie eine Instanziierung auf Modul-Ebene davon entfernt; Im Wesentlichen entfernen Sie die Referenz aus jeder Zeile meines Codes. (Ich verifizierte dies, indem ich eine Strg + F mit dem Begriff "rIndex", Groß-und Kleinschreibung.)

Wenn ich ging, um das Skript erneut auszuführen, bekam ich den gleichen Fehler erneut, mit mehreren Anrufen zu ihm.

Was wäre die richtige Lösung zur Behebung dieses Problems?


Meine Abhilfe bestand darin, ein neues Projekt zu erstellen und den Code zu kopieren. Während dies funktionierte, würde ich gerne einen korrekteren Umgang mit ihm kennen (besonders wenn zukünftige Projekte mehrere Dateien und Einstellungen haben).

Antwort

3

Ich war mit einem ähnlichen Problem konfrontiert, ich erkannte, dass ich Beobachter auf meiner alten Variable hatte. Fehler waren weg, als ich eine Variable aus der Watchlist entfernte.