neden birden çok iş parçacığı ve autoreloading programları. Genellikle ipdb, hata ayıklama isteminde olduğumda gerçekleşen autoreload nedeniyle karışmış görünüyor. Elde edilen yığın izlemesi Bundan sonraipdb, ben yerel olarak (Django Plone) çok iş parçacıklı web uygulamalarını hata ayıklamak için hata ayıklayıcı ipdb kullanıyorum ProgrammingError
/Users/mikko/code/xxxx/venv/lib/python2.7/site-packages/IPython/core/history.pyc in writeout_cache(self, conn)
605 with self.db_input_cache_lock:
606 try:
--> 607 self._writeout_input_cache(conn)
608 except sqlite3.IntegrityError:
609 self.new_session(conn)
/Users/mikko/code/xxxx/venv/lib/python2.7/site-packages/IPython/core/history.pyc in _writeout_input_cache(self, conn)
589 for line in self.db_input_cache:
590 conn.execute("INSERT INTO history VALUES (?, ?, ?, ?)",
--> 591 (self.session_number,)+line)
592
593 def _writeout_output_cache(self, conn):
ProgrammingError: SQLite objects created in a thread can only be used in that same thread.The object was created in thread id 4546363392 and this is thread id 140735211872640
gelir, ya da programı (mesajları asılı) kapalı olamaz veya kendi ipdb çalışmayı durdurur.
ipdb bu konuyu migitate ve daha çok iplikli/Autoreload güvenli hale getirmek için bir yol var mı?EDIT: Sorunun, bu IPython sorunlarının altında olabileceğine inandığım gibi, biraz açıklığa kavuşturuldu. IPython'u yeniden yüklemek veya problemsiz IPython SQLite geçmişini atmak için basit bir yöntem yazmak gibi bir takım bir çözüm olabilir.