无法从Jupy的Python笔记本导入模块

2024-04-29 08:31:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个开始使用Anaconda的环境,我成功地在其中安装了一个模块。我知道,因为我可以运行python,然后再运行import tensorflow。这也适用于通过ipython。问题是,我无法从开始使用ipython notebookjupyter的笔记本加载模块(即使我在活动环境中执行)。

我怀疑这与ipython的设置有关,但我不知道如何调试和解决这个问题。知道吗?

编辑: 以下是我采取的步骤:

  1. conda create --name tensorflowproblem python=2.7创建环境
  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要安装tensorflow

pipjupyter的位置:

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

注意目录~/anaconda/envs/tensorflowproblem/lib/python2.7/site-packages/tensorflow存在。

此外,python -c "import tensorflow"ipython -c "import tensorflow"都不会产生任何类型的错误。

根据要求,也包括

$ 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

此外,根据要求,sys.path的输出是:

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

Tags: pip环境libpackagestensorflowipythonsitejupyter
3条回答

对于jupyter notebook,以下python包对于管理要使用哪个python内核/anaconda环境运行笔记本非常有用:

pip install environment_kernels

在默认环境或特定环境中运行此安装。在开始jupyter notebook之后,您应该在两个地方看到您的Python环境的选项:

  1. 启动新笔记本的选项
  2. 在现有笔记本的kernel > change kernel下拉列表中。

更多细节,我发现this post很有用!

我有一个类似的问题:我在Linux终端上安装的每个包(使用conda或pip)在python控制台上都可以正常工作(我可以导入),如下所示(例如):

>>> import tensorflow as tf
>>>

所以在PYTHON3游戏机上我没有问题:但是Jupyter笔记本会因为可怕的按摩而出错

"No module named tensorflow" 

我遵循了上面的一个答案,并在linux终端上执行了以下操作:

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

现在“pip install xxx”会告诉我包已经存在,并且没有任何更改。但是因为我在Jupyter笔记本上使用python3,所以我试着

$pip3 install tensorflow

在Linux终端上,现在在我的jupyter笔记本上,我可以做到

import tensorflow as tf

不再有“没有名为tensorflow的模块”消息。使用Jupyter笔记本是很好的,但导入软件包一直是个噩梦。再也不会因为以上步骤,以为我分享了这一点,或许我能让别人免于类似的痛苦:)。

请尝试以下操作:

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

听起来tensorflowproblem env没有ipython内核,但是另一个(可能是根)env有。当您启动Jupyter时,它会将您放入带有内核但没有tensorflow包的env中。如果您还没有运行上述行,您可以打开笔记本并运行:

import sys
sys.path

如果前几条路径没有显示“envs/tensorflowproblem”作为它们的一部分,它将解释这个问题。

相关问题 更多 >