2017-10-05 2 views
0

Ich habe ein python jupyter Notebook, das ich versuche, in der Befehlszeile auszuführen. Hier ist der Befehl:Wie behebt man einen Importfehler beim Ausführen eines Juptyer-Notebooks?

jupyter nbconvert --to notebook --execute --ExecutePreprocessor.timeout=60 --output out_file test.ipynb 

Und hier ist eine Testversion dieses Notebooks (test.ipynb)

{"cells":[{"metadata":{"deletable":true,"editable":true},"cell_type":"markdown","source":["# Morphology analysis with neurom\n","\n","You can find the full documentation of neurom on http://neurom.readthedocs.io/en/latest/index.html ."]},{"metadata":{"collapsed":false,"deletable":true,"editable":true,"trusted":false},"cell_type":"code","source":["%matplotlib inline\n","from copy import deepcopy\n","\n","from IPython.display import display, HTML\n","import urllib, zipfile, os\n","\n","try:\n"," import neurom\n"," from neurom import viewer, stats\n","except ImportError:\n"," !pip2 install neurom\n"," import neurom\n"," from neurom import viewer, stats"],"execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"name":"python2","display_name":"Python 2","language":"python"},"language_info":{"version":"2.7.6","mimetype":"text/x-python","file_extension":".py","codemirror_mode":{"version":2,"name":"ipython"},"nbconvert_exporter":"python","name":"python","pygments_lexer":"ipython2"}},"nbformat":4,"nbformat_minor":2} 

, die den folgenden Code entspricht:

get_ipython().magic(u'matplotlib inline') 
from copy import deepcopy 

from IPython.display import display, HTML 
import urllib, zipfile, os 

try: 
    import neurom 
    from neurom import viewer, stats 
except ImportError: 
    get_ipython().system(u'pip2 install neurom') 
    import neurom 
    from neurom import viewer, stats 

Laufen diesen Code mit der Befehl oben, bekomme ich den folgenden Fehler

ImportError: No module named neurom 

obwohl dieses Modul in der aktuellen Einstellung installiert ist. Warum nimmt Python dieses Modul nicht auf?

Antwort

0

Das Problem scheint zu sein, dass die Ausführung des Notebooks nicht die aktuelle Umgebung (wie eine virtualenv zum Beispiel) verwendet, und Sie müssen es zum jupyter Notebook hinzufügen.

Also zuerst erzeugen Sie eine Standard-Konfiguration mit diesem Befehl

jupyter notebook --generate-config 

zu erzeugen in der Regel eine Datei ~/.jupyter/jupyter_notebook_config.py. In dieser Datei müssen Sie den folgenden Teil

c.InteractiveShellApp.exec_lines=[ 
    'import sys; sys.path.append("path-to-add")' 
] 

hinzufügen, um der Ausführung Pfad (e) hinzuzufügen.

Siehe auch Thread here.

Verwandte Themen