2013-07-16 8 views
5

Sto vedendo alcuni comportamenti bizzarri in PyCharm. Ho un progetto Django in cui i punti di interruzione hanno smesso di funzionare in alcuni file ma non in altri. Ad esempio, tutti i punti di interruzione in views.py della mia app funzionano correttamente, ma tutti i punti di interruzione in models.py della stessa app vengono semplicemente ignorati.PyCharm - alcuni punti di interruzione non funzionano in un progetto Django

Ho provato il seguente, ma nessuna gioia:

  • doppio controllare i punti di interruzione sono abilitati
  • rimozione/ri-aggiungendo i punti di interruzione
  • chiusi/riaperto il progetto
  • esci & rilancia PyCharm
  • elimina la mia configurazione e creane una nuova

Alcuni dettagli:

  • PyCharm 2.7.3
  • Python 2.7.2 (in un raggio virtualenv)
  • Django 1.5.1

non sto usando impostazioni particolari nel mio configurazione. Qualche idea?

+0

Eventuali collegamenti simbolici nei percorsi del progetto? Se si dispone di un caso di test riproducibile, [file a bug] (http://youtrack.jetbrains.com/issues/PY). – CrazyCoder

+0

Nessun collegamento simbolico e non riesco a riprodurlo su una macchina diversa né con un progetto diverso nella stessa casella. Grazie comunque. – Fiver

risposta

5

Mentre non so perché o come, il problema è stato risolto eliminando la directory ".idea" all'interno della directory del progetto Django. È qui che vivono i dati del progetto PyCharm, quindi rimuovendo questa directory perderai le impostazioni specifiche del tuo progetto, quindi tieni a mente. Spero che questo aiuti qualcun altro.

+0

Il problema per me è con il nodo XML ... nel file .idea/workspace.xml. Basta fermare PyCharm, rimuovere questa sezione e avviare PyCharm, lo ricreerà. Un'altra soluzione per me era rimuovere tutti i "Python Line Breakpoints" dalla finestra dei punti di interruzione (Alt-F9). Come puoi vedere, ci sono alcuni punti di interruzione non validi là fuori ... – Darxis

1

Assicurarsi che il punto di interruzione è non situato in un progetto (dipendenza) direttamente link simbolico dal progetto (il progetto principale) che utilizza il progetto collegamento simbolico. Dico direttamente, perché PyCharm segue i punti di interruzione dei progetti con collegamenti simbolici situati nei pacchetti del sito, ma si tratta di un progetto indirettamente simulato.

Es:

Scenario 1

proiettare un

  • ProjB_SymLink

site-packages

  • altri pacchetti

Scenario 2

Progetto A

site-packages

  • ProjB_SymLink
  • Altri pacchetti

Nello Scenario 1, PyCharm non vedrà i punti di interruzione situati in codice sotto Progetto B. Nello scenario 2, lo farà.

Il sotto anche dovrebbe essere utile: http://devnet.jetbrains.com/thread/442551

5

Se avete l'impostazione "debugging Gevent compatibile" abilitato non sembra colpire i punti di interruzione in un'applicazione Django non Gevent.

trovare sotto Preferenze ->Python Debugger ->Gevent debug compatibile

+0

questo funziona, mi ha aiutato molto e dovrebbe essere accettato risposta! – Florian

Problemi correlati