color - Importaciones de Trace Python
python plotly axis (2)
Inicie el intérprete de python con -v
:
$ python -v -m /usr/lib/python2.6/timeit.py
# installing zipimport hook
import zipimport # builtin
# installed zipimport hook
# /usr/lib/python2.6/site.pyc matches /usr/lib/python2.6/site.py
import site # precompiled from /usr/lib/python2.6/site.pyc
# /usr/lib/python2.6/os.pyc matches /usr/lib/python2.6/os.py
import os # precompiled from /usr/lib/python2.6/os.pyc
import errno # builtin
import posix # builtin
# /usr/lib/python2.6/posixpath.pyc matches /usr/lib/python2.6/posixpath.py
import posixpath # precompiled from /usr/lib/python2.6/posixpath.pyc
# /usr/lib/python2.6/stat.pyc matches /usr/lib/python2.6/stat.py
import stat # precompiled from /usr/lib/python2.6/stat.pyc
# /usr/lib/python2.6/genericpath.pyc matches /usr/lib/python2.6/genericpath.py
import genericpath # precompiled from /usr/lib/python2.6/genericpath.pyc
# /usr/lib/python2.6/warnings.pyc matches /usr/lib/python2.6/warnings.py
import warnings # precompiled from /usr/lib/python2.6/warnings.pyc
# /usr/lib/python2.6/linecache.pyc matches /usr/lib/python2.6/linecache.py
import linecache # precompiled from /usr/lib/python2.6/linecache.pyc
# /usr/lib/python2.6/types.pyc matches /usr/lib/python2.6/types.py
import types # precompiled from /usr/lib/python2.6/types.pyc
# /usr/lib/python2.6/UserDict.pyc matches /usr/lib/python2.6/UserDict.py
...
Luego simplemente grep para su antiguo módulo.
La biblioteca de My Python acaba de cambiar su nombre de módulo principal de foo.bar
a foobar
. Para la compatibilidad con versiones anteriores, foo.bar
aún existe, pero importarlo genera algunas advertencias. Ahora, parece que algún programa de ejemplo todavía importa del antiguo módulo, pero no directamente.
Me gustaría encontrar la declaración de import
errónea. ¿Hay alguna herramienta que me permita rastrear las importaciones y encontrar al culpable sin vadear todo el código?
edite el módulo foo.bar, agregue el siguiente código:
import pdb
pdb.set_trace()
cuando se importe foo.bar, el programa se detendrá en pdb.set_trace () en modo pdb, donde puede depurar su código. Por ejemplo, puede usar el comando "w" para imprimir la pila de llamadas completa.