我已经安装了Anaconda的Tensorflow和Keras(在Windows 10上),我创建了一个使用Python 3.5.2的环境(Anaconda中的原始版本是Python 3.6)。
当我尝试执行import keras as ks
时,我得到ModuleNotFoundError: No module named 'keras'
。
我试图通过sys.path.append(C:\\Users\\ ... \\Anaconda3\\python.exe)
同时使用笔记本和控制台,但我仍然会遇到同样的错误。
我该如何解决这个问题?
答案 0 :(得分:3)
Jupyter在引擎盖下使用iPython,用于python。所以当你安装Jupyter时,它也会安装iPython。当我安装keras和Jupyter时出现了一个问题:我已经在我的根Anaconda环境中安装了iPython。这是我安装Jupyter和keras之后的输出:
In [2]: import sys; sys.path
Out[2]:
['/home/user/anaconda3/bin',
'/home/user/anaconda3/lib/python36.zip',
'/home/user/anaconda3/lib/python3.6',
'/home/user/.ipython']
请注意,即使我在我的conda环境中,它仍然在我的root conda环境中查找库。当然keras不在那里。
要修复的步骤只需重新激活我的环境,使用:
source deactivate && source activate [my_env]
然后我正在使用正确的ipython:
Out[2]:
['/home/user/anaconda3/envs/ml3/bin',
'/home/user/anaconda3/envs/ml3/lib/python36.zip',
'/home/user/anaconda3/envs/ml3/lib/python3.6',
'/home/user/.ipython']
答案 1 :(得分:3)
请尝试以下操作:
在jupyter笔记本单元中运行这些命令:
import sys
sys.path
sys.executable
它可能不是指向您的虚拟环境,而是指向根目录
解决方法是从虚拟环境内部安装jupyter笔记本
$ . your_env/bin/activate
(your_env)$ python -m pip install jupyter
现在您可以导入tensorflow或keras了
答案 2 :(得分:1)
(不是答案,而是一些故障排除提示)
sys.path不是Python可执行文件的路径,而是库的路径。
您可能会尝试卸载Jupiter并再次安装它,并希望新安装选择已安装的软件包。可能发生的情况是,您安装了多个Python,并且不同的库安装在不同的位置。当来自不同环境的请求时,sys.path可能会提示您是否为真。
答案 3 :(得分:0)
console和jupyter中的内核不一定相同,问题可能是你不在python 3.5上。
python --version
应该告诉你在控制台中运行的是什么,在jupyter中你应该把它看作是启动新笔记本的一个选择。对我来说,
中的信息Using both Python 2.x and Python 3.x in IPython Notebook
非常有帮助。
答案 4 :(得分:0)
我意识到我有两个不同的Jupyter目录,所以我手动删除了一个。最后,我重新安装了Anaconda。现在Keras工作正常。
答案 5 :(得分:0)
如果您是Windows / mac用户,并且正在使用Jupyter笔记本“ pip install keras”,则无济于事。请尝试以下步骤。为我解决了 1.在命令提示符下,导航到已安装的anaconda的“站点软件包”目录。 2.现在使用“ conda install tensorflow”和“ conda install keras”之后 3.重新启动Jupyter笔记本并运行软件包。
答案 6 :(得分:0)
当然,我执行了此命令pip install keras
和sudo -H pip3 install keras
和pip3 install keras
。他们都没有工作。我添加了以下命令,并且一切正常运行:
pip install Keras
。是的,大写字母“ K”
答案 7 :(得分:0)
这是我解决此问题的方法。
首先是诊断。在Mac的终端窗口中运行which python
时(我用来启动jupyter
的同一终端,我得到/Users/myusername/.conda/envs/myenvname/bin/python
,但是当我从终端运行相同的命令时在Jupyter中,我得到/usr/bin/python
。所以Jupyter没有使用正确的python可执行文件;它使用的版本没有安装我的任何软件包。
但是which jupyter
返回/usr/bin/jupyter
;它使用的不是我的conda环境中的jupyter版本。我运行了conda install jupyter
,现在which jupyter
返回了/Users/myusername/.conda/envs/myenvname/bin/jupyter
(出于某种原因,我不得不重新启动终端窗口才能使它生效。)然后,如果我重新启动jupyter notebook
,则笔记本正在使用正确版本的Python,并且可以访问所有已安装的conda软件包。 ?
答案 8 :(得分:0)
我遇到了类似的问题。 我添加了 Conda 环境作为新内核。
首先安装ipykernel:
conda install ipykernel
接下来,创建内核:
python -m ipykernel install --user --name tf-gpu --display-name "TensorFlow-GPU"
现在,当您运行笔记本时,将内核更改为新内核,在本例中为“TensorFlow-GPU”。