我有一个开始使用Anaconda
的环境,并且我成功地在其中安装了一个模块。我知道,因为我可以运行python
然后import tensorflow
。通过ipython
时也是如此。问题是,我无法从我开始使用ipython notebook
或jupyter
的笔记本加载模块(即使我是从活动环境执行)。
我怀疑它与ipython
的设置有关,但我不知道如何调试和解决问题。有什么想法吗?
编辑: 以下是我采取的步骤:
conda create --name tensorflowproblem python=2.7
创建环境source activate tensorflowproblem
conda install --name tensorflowproblem jupyter
安装jupyter pip install https://storage.googleapis.com/tensorflow/mac/tensorflow-0.5.0-py2-none-any.whl
安装tensorflow
pip
和jupyter
的位置:
$ 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']
答案 0 :(得分:18)
尝试以下方法:
source activate tensorflowproblem
conda install notebook ipykernel
ipython kernel install --user
听起来你的tensorflowproblem env没有ipython内核,但另一个(可能是你的根)env确实如此。当您启动Jupyter时,它会将您带入内核的env但没有tensorflow包。如果你还没有运行上述行,你可以通过打开笔记本并运行来测试这个理论:
import sys
sys.path
如果前几条路径没有显示&#39; envs / tensorflowproblem&#39;作为其中的一部分,它将解释这个问题。
答案 1 :(得分:5)
对于jupyter笔记本,以下python包对于管理运行笔记本的python内核/ anaconda环境非常有用:
pip install environment_kernels
在默认环境或特定环境中运行此安装。启动jupyter notebook
后,您应该在两个地方看到anaconda环境的选项:
kernel > change kernel
下拉列表中。有关详情,我发现this post有帮助!
答案 2 :(得分:2)
我遇到了类似的问题:我在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笔记本很棒,但导入软件包一直是个噩梦。不再是由于上述步骤,我想我分享这个,也许我从类似的痛苦中拯救其他人:)。
答案 3 :(得分:1)
答案 4 :(得分:1)
对于 Windows 用户
我在 Windows 系统中遇到了同样的问题。这是因为 Jupyter notebook 在错误的内核中打开。
要解决此问题,您需要将新环境输入 Jupyter Notebook 内核列表。按照以下步骤操作,
进入你的环境(激活环境)
conda activate MyEnvironment
安装 ipykernel
conda install -c anaconda ipykernel
将您的环境添加到 Jupyter Notebook 内核列表
python -m ipykernel install --user --name=MyEnvironment
现在,每次您想在 Jupyter Notebook 中创建新 Notebook 时,您都会看到 MyEnvironment。您还可以通过进入内核 > 更改内核来访问此环境。
关注This Article了解更多详情。
答案 5 :(得分:0)
根据我在使用控制台而不是Jupyter的模块xlrd的经验,你可以尝试转到你的系统Python文件夹/usr/local/bin/
,然后查找你的python版本。然后使用pipXX
文件安装所需的模块。
答案 6 :(得分:0)
之所以发生这种情况,是因为当您的软件包位于虚拟环境中时,Jupyter尝试从根目录导入库。一个简单的解决方法是在所有笔记本中进行的操作是指定该库的安装位置。
尝试在笔记本的开头运行这些行,指定您自己的python站点包路径。
import sys
sys.path.append('/homes/es314/music_info/lib/python3.6/site-packages')
答案 7 :(得分:0)
这为我解决了
conda activate
conda install nb_conda_kernels ipykernel
conda activate 'mykernel'
conda install nb_conda_kernels ipykernel