2015-11-27 8 views
9

zu importieren Ich habe eine Umgebung, die ich begann Anaconda zu verwenden, und ich habe erfolgreich ein Modul in es 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 entweder ipython notebook oder jupyter benutze (obwohl ich entweder aus einer aktiven Umgebung ausführe).Nicht möglich, ein Modul aus Python-Notebook in Jupyter

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

Edit: Hier sind die Schritte, die ich nahm:

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

Die Standorte der 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 existiert.

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

Wie gewünscht, auch das löschte 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 

Zusätzlich ist, wie die Ausgabe von sys.path angefordert wird, ist:

['', 
'/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'] 
+2

'Ich weiß es, weil ich Python ausführen und dann Tensorflow importieren kann - das zeigt nicht, dass die Installation in die Umgebung funktioniert. Bitte teilen Sie uns alle Schritte mit, die Sie vom Aktivieren der Umgebung bis zum Installieren und Ausführen von ipython notebook unternommen haben. – cel

+0

Kannst du deine Umgebung über 'source activate tensorflowproblem' aktivieren und dann' which-a pip' ausführen, was -a jupyter' ist und die Ausgabe zu deiner Frage hinzufügt. – cel

+0

Erhalten Sie irgendwelche Fehler von 'python -c" importieren Tensorflow "' und 'ipython -c" importieren Tensorflow "'? – cel

Antwort

11

Versuchen Sie Folgendes:

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

Es klingt wie dein Tensorflowproblem env hat keinen ipython-Kernel, aber einen anderen (wahrscheinlich deinen root) e nv tut es. Wenn Sie Jupyter starten, werden Sie mit dem Kernel in das env versetzt, aber ohne das Tensorflow-Paket. Wenn Sie nicht die obigen Zeilen noch ausgeführt haben, können Sie diese Theorie testen, indem ein Notebook öffnen und ausgeführt wird:

import sys 
sys.path 

Wenn die ersten Pfade nicht zeigen ‚ENVs/tensorflowproblem‘ als Teil von ihnen würde es erkläre das Problem.

+0

ok, also wie kann ich vom ipython-Notebook aus überprüfen, in welcher conda-Umgebung ich bin, und wie starte ich das Notebook aus einer anderen conda-Umgebung? – RockScience

+0

Mit Conda und nicht Pip, um Jupyter zu installieren, reparierte es für mich. Im Allgemeinen scheint es am besten, Anaconda zu verwenden, um ein Paket möglichst zu installieren. – Simon

2

Für jupyter Notebook, das folgende Python-Paket ist für die Verwaltung des Python-kernel/anaconda-Umgebung nützlich, um ein Notebook mit laufen:

pip install environment_kernels 

Führen Sie diese entweder in Ihrer Standard-Umgebung oder einem bestimmten installieren.Nach dem Start jupyter notebook Sie die Optionen für Ihre anaconda Umgebungen an zwei Stellen sehen sollen:

  1. Optionen ein neues Notebook
  2. im kernel > change kernel Drop-Down für ein vorhandenes Notebook zu starten.

Für weitere Details, fand ich this post hilfreich!

1

Wahrscheinlich hat Ihr Notebook nicht den richtigen Kernel (Umgebung) geladen. Der Name der Umgebung wird in der oberen rechten Ecke angezeigt. Siehe den roten Kreis im Bild unten. Wenn das nicht stimmt, klicken Sie auf Kernel -> Kernel ändern und wählen Sie den entsprechenden Kernel aus.

enter image description here

0

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