我之前通过Anaconda在Ubuntu 14.04中安装了Jupyter笔记本,刚才我安装了TensorFlow。无论我是在笔记本电脑上工作还是只是编写脚本,我都希望TensorFlow能够正常工作。在我尝试实现这一目标时,我最终安装了TensorFlow两次,一次使用Anaconda,一次使用pip。 Anaconda安装工作,但我需要使用“source activate tensorflow”来预先调用python。并且pip安装工作得很好,如果以标准方式启动python(在终端中),那么tensorflow加载就好了。
我的问题是:我怎样才能在Jupyter笔记本中使用它?
这引出了一个更普遍的问题:似乎我的Jupyter / Anaconda中的python内核与系统范围内使用的python内核(或环境?不确定这里的术语)是分开的。如果这些重合,那将是很好的,所以如果我安装一个新的python库,它可以通过我运行python的各种方式访问。
答案 0 :(得分:58)
<强>更新强>
TensorFlow website支持五种安装。
据我了解,直接使用Pip installation可以在Jupyter Notebook中导入TensorFlow(只要安装了Jupyter Notebook并且没有其他问题)b / z它没有创建任何虚拟环境。
使用virtualenv install和conda install需要在新创建的TensorFlow环境中安装jupyter,以允许TensorFlow在Jupyter Notebook中工作(有关详情,请参阅以下原始文章部分)细节)。
我相信docker install可能需要在VirtualBox中设置一些端口才能使TensorFlow在Jupyter Notebook(see this post)中工作。
对于installing from sources,它还取决于构建和安装源代码的环境。如果将其安装到新创建的虚拟环境或未安装Jupyter Notebook的虚拟环境中,则还需要将Jupyter Notebook安装到虚拟环境中以在Jupyter Notebook中使用Tensorflow。
原帖
要在Ipython和/或Jupyter(Ipython)Notebook中使用tensorflow,您需要在tensorflow激活环境下安装Ipython和Jupyter(在安装tensorflow之后)。
在tensorflow环境下安装Ipython和Jupyter之前,如果在终端中执行以下命令:
username$ source activate tensorflow
(tensorflow)username$ which ipython
(tensorflow)username$ /Users/username/anaconda/bin/ipython
(tensorflow)username$ which jupyter
(tensorflow)username$ /Users/username/anaconda/bin/jupyter
(tensorflow)username$ which python
(tensorflow)username$ /User/username//anaconda/envs/tensorflow/bin/python
这告诉你,当你从终端打开python时,它正在使用安装在&#34;环境中的那个&#34;其中安装了tensorflow。因此,您实际上可以成功导入tensorflow。但是,如果您尝试运行ipython和/或jupyter笔记本,则这些不会安装在&#34;环境下#34;配备tensorflow,因此必须返回使用没有tensorflow模块的常规环境,因此会出现导入错误。
您可以通过列出envs / tensorflow / bin目录下的项目来验证这一点:
(tensorflow) username$ ls /User/username/anaconda/envs/tensorflow/bin/
你会发现没有&#34; ipython&#34;和/或&#34; jupyer&#34;列出来。
要在Ipython和/或Jupyter笔记本中使用tensorflow,只需将它们安装到张量流环境中即可:
(tensorflow) username$ conda install ipython
(tensorflow) username$ pip install jupyter #(use pip3 for python3)
安装完毕后,应该有一个&#34; jupyer&#34;和&#34; ipython&#34;显示在envs / tensorflow / bin /目录中。
注意: 在尝试在jupyter笔记本中导入tensorflow模块之前,请尝试关闭笔记本。并且&#34;来源停用张量流&#34;首先,然后重新激活它(&#34; source activate tensorflow&#34;)以确保在同一页面上#34;&#34;。然后重新打开笔记本并尝试导入tensorflow。它应该成功导入(至少在我的工作)。
答案 1 :(得分:5)
我在virtualenv中使用了以下这些。
pip3 install --ignore-installed ipython
pip3 install --ignore-installed jupyter
这会在我的tensorflow虚拟环境中重新安装ipython和jupyter笔记本。您可以在which ipython
和which jupyter
安装后对其进行验证。 bin
将位于虚拟环境下。
注意我使用的是python 3。*
答案 2 :(得分:4)
我每次使用source activate tensorflow
之前都有另一个不需要jupyter notebook
的解决方案。
第1部分
首先,你应该确保在virtualenv中安装了jupyter。如果已安装,则可以跳过此部分(使用which jupyter
进行检查)。如果不是,您可以运行source activate tensorflow
,然后通过conda install jupyter
在您的virtualenv中安装jupyter。 (您也可以使用pip
。)
第2部分
1.从您的virtualenv中,运行
username$ source activate tensorflow
(tensorflow)username$ ipython kernelspec install-self --user
这将为你的virtualenv创建一个kernelspec并告诉你它在哪里:
(tensorflow)username$ [InstallNativeKernelSpec] Installed kernelspec pythonX in /home/username/.local/share/jupyter/kernels/pythonX
其中pythonX将匹配virtualenv中的Python版本。
2.将新的kernelspec复制到有用的地方。为新内核kernel_name
或python2
或之前使用的内核选择python3
,然后:
(tensorflow)username$ mkdir -p ~/.ipython/kernels
(tensorflow)username$ mv ~/.local/share/jupyter/kernels/pythonX ~/.ipython/kernels/<kernel_name>
3.如果您想更改IPython向您显示的内核名称,您需要编辑~/.ipython/kernels/<kernel_name>/kernel.json
并将名为display_name
的JSON密钥更改为您喜欢的名称。
4.您现在应该能够在IPython笔记本菜单中看到您的内核:Kernel -> Change kernel
并且能够切换到它(您可能需要在页面出现之前刷新页面)。 IPython将记住从那时起用于该笔记本的内核。
答案 3 :(得分:3)
以下是我在Anaconda中启用张量流的方法 - &gt; Jupyter。
答案 4 :(得分:2)
您的Anaconda安装可能会转到与Python安装不同的目录
例如在我的机器上,我可以在这里找到位置
yaroslavvb-macbookpro:~ yaroslavvb$ which ipython
/Users/yaroslavvb/anaconda/bin/ipython
当您输入python
时,它会尝试按照从左到右的顺序在PATH
中找到它。因此,您可能在Anaconda文件夹之前的文件夹中有另一个版本的python
,并且它将使用它。要修复,您可以export PATH=....
更改路径,并将Anaconda目录放在前面,以便从那里取python
而不是默认值,即
export PATH=/Users/yaroslavvb/anaconda/bin:$PATH
答案 5 :(得分:1)
我使用Conda conda install pip
而不是apt-get install python-pip python-dev
安装了PIP。
然后安装了tensorflow 使用Pip Installation:
# Ubuntu/Linux 64-bit, CPU only, Python 2.7
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.9.0-cp27-none-linux_x86_64.whl
# Ubuntu/Linux 64-bit, GPU enabled, Python 2.7
# Requires CUDA toolkit 7.5 and CuDNN v4. For other versions, see "Install from sources" below.
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.9.0-cp27-none-linux_x86_64.whl
...
pip install --upgrade $TF_BINARY_URL
然后它将在jupyter笔记本中工作。
答案 6 :(得分:1)
接受的答案(由钟宇光提供)刚刚帮助了我。在这里,我创建了一个environment.yml
文件,使我可以使这个conda / tensorflow安装过程重复。
environment.yml
看起来像这样:
name: hello-tensorflow
dependencies:
- python=3.6
- jupyter
- ipython
- pip:
- https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.1.0-cp36-cp36m-linux_x86_64.whl
注意:
hello-tensorflow
)3.6
)当environment.yml
位于您所在的当前路径中时,此命令会创建环境hello-tensorflow
(或您已将其重命名为的任何内容):
conda env create -f environment.yml
激活新创建的环境:
source activate hello-tensorflow
哪个python ...
(hello-tensorflow) $ which python
/home/johnny/anaconda3/envs/hello-tensorflow/bin/python
哪个jupyter ......
(hello-tensorflow) $ which jupyter
/home/johnny/anaconda3/envs/hello-tensorflow/bin/jupyter
哪个ipython ...
(hello-tensorflow) $ which ipython
/home/johnny/anaconda3/envs/hello-tensorflow/bin/ipython
您现在应该可以从python,jupyter(console / qtconsole / notebook等)和ipython导入tensorflow。
答案 7 :(得分:0)
我认为您的问题与此处的问题非常相似。 Windows 7 jupyter notebook executing tensorflow。正如雅罗斯拉夫所说,你可以尝试
conda install -c http://conda.anaconda.org/jjhelmus tensorflow
。
答案 8 :(得分:0)
使用自定义Ubuntu 16
图片时出现类似问题。该问题与我系统上已安装的numpy
的现有版本有关。
我最初尝试过
sudo pip3 install tensorflow
这导致以下异常:
例外: Traceback(最近一次调用最后一次): 文件“/anaconda/envs/py35/lib/python3.5/shutil.py”,第538行,移动 os.rename(src,real_dst) PermissionError:[Errno 13]权限被拒绝:'/ anaconda/envs/py35/lib/python3.5/site-packages/numpy' - &gt; '/tmp/pip-co73r3hm-uninstall/anaconda/envs/py35/lib/python3.5/site-packages/numpy'
文档建议如果您遇到此命令的任何问题,请尝试以下操作:
sudo pip3 install --upgrade \
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.0.1-cp35-cp35m-linux_x86_64.whl
但是,我的系统无法找到pip3
sudo:找不到pip3命令
ulitmate解决方案是为pip3创建symlink
sudo ln -s /anaconda/envs/py35/bin/pip3.5 /usr/local/bin/pip3
最后,以下命令可以正常运行
sudo /usr/local/bin/pip3 install --upgrade \
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.0.1-cp35-cp35m-linux_x86_64.whl
我在terminal
验证了安装情况,并在Jupyter Notebook
import tensorflow as tf
答案 9 :(得分:0)
我想知道仅仅从tensorflow环境启动ipython还不够。那是 1)首先激活tensorflow virtualenv:
source ~/tensorflow/bin/activate
2)在tensorflow environnement下启动ipython
(tensorflow)$ ipython notebook --ip=xxx.xxx.xxx.xxx
答案 10 :(得分:0)
我从其他人的帖子中找到了解决方案。它很简单,效果很好!
http://help.pythonanywhere.com/pages/IPythonNotebookVirtualenvs
只需在命令提示符中安装以下内容,然后在Jupyter Notebook中将内核更改为Python 3。它将成功导入tensorflow。
pip install tornado == 4.5.3
pip install ipykernel == 4.8.2
(原始帖子:https://github.com/tensorflow/tensorflow/issues/11851)
答案 11 :(得分:0)
对于遇到此问题的我或同事的未来版本:
conda install -c conda-forge jupyter jupyterlab keras tensorflow
结果证明jupyterlab
是jupyter
的插件。
因此,即使您在具有jupyter
但又没有 jupyterlab
的环境中,如果您尝试运行:
jupyter lab
然后jupyter
将在(base)
环境中寻找jupyterlab
插件。
然后您在jupyter lab
中的导入将相对于该插件,而不是不是您的conda环境。
答案 12 :(得分:-1)
打开 Anaconda 提示屏幕: (base) C:\Users\YOU>conda create -n tf tensorflow
环境创建后输入:conda activate tf
提示移动到(tf)环境,即:(tf) C:\Users\YOU>
然后在这个 (tf) 环境中安装 Jupyter Notebook:
conda install -c conda-forge jupyterlab - jupyter notebook
仍处于 (tf) 环境中,即类型
(tf) C:\Users\YOU>jupyter notebook
笔记本屏幕开始!!
一个新的笔记本可以import tensorflow
从那时起
打开会话
单击 Anaconda 提示,
输入 conda activate tf
提示移动到 tf 环境
(tf) C:\Users\YOU>
然后输入 (tf) C:\Users\YOU>jupyter notebook