wake-up-neo.com

Ein Modul kann nicht aus einem Python-Notebook in Jupyter importiert werden

Ich habe eine Umgebung, in der ich Anaconda verwendet habe, und ich habe erfolgreich ein Modul darin installiert. Ich weiß es, weil ich python und dann import tensorflow ausführen kann. Dies funktioniert auch bei ipython. Das Problem ist, dass ich das Modul nicht von einem Notebook laden kann, das ich anfange, entweder ipython notebook oder jupyter zu verwenden (obwohl ich entweder eine aktive Umgebung ausführte).

Ich vermute, es bezieht sich auf die Einstellung von ipython, aber ich weiß nicht, wie ich das Problem debuggen und lösen kann. Irgendeine Idee?

Bearbeiten: Hier sind die Schritte, die ich unternommen habe:

  1. conda create --name tensorflowproblem python=2.7, um eine Umgebung zu erstellen
  2. source activate tensorflowproblem
  3. conda install --name tensorflowproblem jupyter um jupyter zu installieren
  4. pip install https://storage.googleapis.com/tensorflow/mac/tensorflow-0.5.0-py2-none-any.whl zur Installation von tensorflow

Die Positionen von pip und jupyter:

$ which -a pip
/Users/dror/anaconda/envs/tensorflowproblem/bin/pip
$ which -a jupyter
/Users/dror/anaconda/envs/tensorflowproblem/bin/jupyter

Beachten Sie, dass das Verzeichnis ~/anaconda/envs/tensorflowproblem/lib/python2.7/site-packages/tensorflow vorhanden ist.

Außerdem geben weder python -c "import tensorflow" noch ipython -c "import tensorflow" irgendeine Art von Fehler ab.

Wie gewünscht, auch die Ausgabe von

$ conda list -n tensorflowproblem
# packages in environment at /Users/dror/anaconda/envs/tensorflowproblem:
#
appnope                   0.1.0                    py27_0
backports-abc             0.4                       <pip>
backports.ssl-match-hostname 3.4.0.2                   <pip>
backports_abc             0.4                      py27_0
decorator                 4.0.4                    py27_0
freetype                  2.5.5                         0
ipykernel                 4.1.1                    py27_0
ipython                   4.0.0                    py27_1
ipython-genutils          0.1.0                     <pip>
ipython_genutils          0.1.0                    py27_0
ipywidgets                4.1.0                    py27_0
jinja2                    2.8                      py27_0
jsonschema                2.4.0                    py27_0
jupyter                   1.0.0                    py27_0
jupyter-client            4.1.1                     <pip>
jupyter-console           4.0.3                     <pip>
jupyter-core              4.0.6                     <pip>
jupyter_client            4.1.1                    py27_0
jupyter_console           4.0.3                    py27_0
jupyter_core              4.0.6                    py27_0
libpng                    1.6.17                        0
markupsafe                0.23                     py27_0
mistune                   0.7.1                    py27_0
nbconvert                 4.0.0                    py27_0
nbformat                  4.0.1                    py27_0
notebook                  4.0.6                    py27_0
numpy                     1.10.1                    <pip>
openssl                   1.0.2d                        0
path.py                   8.1.2                    py27_1
pexpect                   3.3                      py27_0
pickleshare               0.5                      py27_0
pip                       7.1.2                    py27_0
ptyprocess                0.5                      py27_0
pygments                  2.0.2                    py27_0
pyqt                      4.11.4                   py27_0
python                    2.7.10                        2
python.app                1.2                      py27_4
pyzmq                     14.7.0                   py27_1
qt                        4.8.7                         1
qtconsole                 4.1.0                    py27_0
readline                  6.2                           2
setuptools                18.5                     py27_0
simplegeneric             0.8.1                    py27_0
singledispatch            3.4.0.3                  py27_0
sip                       4.16.9                   py27_0
six                       1.10.0                   py27_0
sqlite                    3.8.4.1                       1
ssl_match_hostname        3.4.0.2                  py27_0
tensorflow                0.5.0                     <pip>
terminado                 0.5                      py27_1
tk                        8.5.18                        0
tornado                   4.3                      py27_0
traitlets                 4.0.0                    py27_0
wheel                     0.26.0                   py27_1
zeromq                    4.1.3                         0
zlib                      1.2.8                         0

Darüber hinaus lautet die Ausgabe von sys.path wie angefordert:

['',
 '/Users/user/anaconda/envs/py2/lib/python27.Zip',
 '/Users/user/anaconda/envs/py2/lib/python2.7',
 '/Users/user/anaconda/envs/py2/lib/python2.7/plat-darwin',
 '/Users/user/anaconda/envs/py2/lib/python2.7/plat-mac',
 '/Users/user/anaconda/envs/py2/lib/python2.7/plat-mac/lib-scriptpackages',
 '/Users/user/anaconda/envs/py2/lib/python2.7/lib-tk',
 '/Users/user/anaconda/envs/py2/lib/python2.7/lib-old',
 '/Users/user/anaconda/envs/py2/lib/python2.7/lib-dynload',
 '/Users/user/anaconda/envs/py2/lib/python2.7/site-packages',
 '/Users/user/anaconda/envs/py2/lib/python2.7/site-packages/Sphinx-1.3.1-py2.7.Egg',
 '/Users/user/anaconda/envs/py2/lib/python2.7/site-packages/aeosa',
 '/Users/user/anaconda/envs/py2/lib/python2.7/site-packages/setuptools-17.1.1-py2.7.Egg',
 '/Users/user/anaconda/envs/py2/lib/python2.7/site-packages/IPython/extensions',
 '/Users/user/.ipython']
11
Dror

Versuche Folgendes:

source activate tensorflowproblem
conda install notebook ipykernel
ipython kernel install --user

Es hat den Anschein, als ob Ihr Tensorflow-Problem env keinen IPython-Kernel hat, aber eine andere (wahrscheinlich Ihre Wurzel) Env tut. Wenn Sie Jupyter starten, werden Sie mit dem Kernel, aber ohne das Tensorflow-Paket, in die Umgebung geladen. Wenn Sie die obigen Zeilen noch nicht ausgeführt haben, können Sie diese Theorie testen, indem Sie ein Notizbuch öffnen und Folgendes ausführen:

import sys
sys.path

Wenn die ersten Pfade kein 'envs/tensorflowproblem' enthalten, würde dies das Problem erklären. 

16
Alnilam

Für Jupyter Notebook ist das folgende Python-Paket hilfreich, um zu verwalten, mit welcher Python-Kernel/Anaconda-Umgebung ein Notebook ausgeführt werden soll:

pip install environment_kernels

Führen Sie diese Installation entweder in Ihrer Standardumgebung oder in einer bestimmten Umgebung aus. Nach dem Start von jupyter notebook sollten Sie die Optionen für Ihre Anaconda-Umgebungen an zwei Stellen sehen: 

  1. optionen zum Starten eines neuen Notebooks 
  2. in der Dropdown-Liste kernel > change kernel für ein vorhandenes Notizbuch.

Für weitere Details habe ich diesen Beitrag hilfreich gefunden!

4
chinnychinchin

Ich hatte ein ähnliches Problem: Jedes Paket, das ich auf einem Linux-Terminal installiere (entweder Conda oder Pip), funktioniert einwandfrei (ich kann importieren) auf der Python-Konsole (z. B.)

>>> import tensorflow as tf
>>>

Also auf der PYTHON3 Konsole bekomme ich kein Problem: Aber das Jupyter-Notebook würde bei der furchtbaren Massage einen Fehler geben 

"No module named tensorflow" 

Ich folgte einer der obigen Antworten und tat Folgendes auf einem Linux-Terminal:

$cd usr/local/bin 
$ls
f2py  pip  pip2  pip2.7 

Jetzt würde "pip install xxx" sagen, dass das Paket bereits existiert, und es wurde keine Änderung vorgenommen. Aber da ich Python3 auf einem Jupyter-Notebook verwende, habe ich es versucht 

$pip3 install tensorflow

auf Linux Terminal und jetzt in meinem Jupyter Notebook kann ich das machen

import tensorflow as tf

Keine weitere Meldung "Kein Modul mit dem Namen Tensorflow". Die Verwendung eines Jupyter-Notebooks ist großartig, aber der Import von Paketen war ein Albtraum. Nicht mehr wegen der oben genannten Schritte, dachte ich, ich teile das, vielleicht rette ich andere vor ähnlichen Qualen :) 

1
J.Michael

Wahrscheinlich hat Ihr Notebook den richtigen Kernel (Umgebung) nicht geladen. Der Umgebungsname wird in der oberen rechten Ecke angezeigt. Siehe den roten Kreis im Bild unten. Ist dies nicht der Fall, klicken Sie auf Kernel-> Change Kernel und wählen Sie den entsprechenden Kernel aus.

 enter image description here

1
GunnerFan

Aus meiner Erfahrung mit dem Modul xlrd, das in der Konsole und nicht in Jupyter arbeitet, können Sie versuchen, in den Python-Ordner /usr/local/bin/ Ihres Systems zu gelangen, und dann nach Ihrer Python-Version suchen. Verwenden Sie dann die Datei pipXX, um das gewünschte Modul zu installieren.

0
Nguyen Pham