Je reconnais que c'est une erreur d'installation de ma part, et je suis désolé de poser cette question sans intérêt et sans conséquence à vos pieds, mais pour la vie de moi je n'arrive pas à comprendre ce qui ne va pas et je n'ai plus d'idées. J'espère que quelqu'un sera en mesure de souligner rapidement l'évidence.Python line_profiler ne trouve pas le module
J'essaye de profiler un script python (en utilisant le line_profiler de Kern), et le script doit charger le module netCDF4. J'ai installé à la fois line_profiler et netCDF4 avec pip. Les deux sont signalés comme présents et mis à jour lorsque je file la pip pour la liste des paquets installés.
Sans utiliser le profileur, mon script s'exécute sans problèmes, ce qui signifie que le module netCDF4 est chargé correctement. Cependant, si je lance 'kernprof -l -v myscript.py' du répertoire "MyScript", je reçois l'erreur suivante:
Traceback (most recent call last):
File "/usr/local/bin/kernprof", line 9, in <module>
load_entry_point('line-profiler==1.0', 'console_scripts', 'kernprof')()
File "Library/Python/2.7/site-packages/kernprof.py", line 221, in main
execfile(script_file, ns, ns)
File "myscript.py", line 5, in <module>
from netCDF4 import Dataset
ImportError: No module named netCDF4
Je courais Python d'une installation/opt/local/bin/python, qui est listé en premier dans mon PATH. Donc, dans tous les cas, si la version Python par défaut que j'ai définie est la même que celle qui apparaît en premier dans mon PATH, et que cette version par défaut est capable d'accéder au module netCDF4, pourquoi line_profiler?
pouvez-vous importer un autre module standard 'import os' puis' imprimer (os .__ fichier __) 'pour voir où se trouve la bibliothèque standard lors de l'exécution du profileur? –
print (os._file_) donne: 'AttributeError: l'objet 'module' n'a pas d'attribut '_file_'' – Nordlendingen
ok, mauvais choix, module intégré :): try' import csv; print (csv .__ fichier __) '. Aussi: 'import sys; print (sys.executable) '. Les deux résultats seraient utiles. –