TensorFlow 安装问题

14
我尝试在我的Ubuntu 14.04 64位机器上安装TensorFlow:
sudo pip2 install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.6.0-cp27-none-linux_x86_64.whl

对于Python 2.7版本

当我在控制台中运行import tensorflow as tf时,出现错误。

导入tensorflow出错。除非您使用bazel,否则请勿尝试从源代码目录导入tensorflow;请退出tensorflow源代码树,并从那里重新启动python解释器。

谷歌没有提供一个好的答案,你有什么想法吗?


1
你是从 TensorFlow 源代码目录开始运行 Python 吗(例如 GitHub 存储库的克隆)?如果是这样,Python 可能会因其搜索路径中存在两个可能的“tensorflow”软件包而感到困惑。尝试切换到另一个目录并重新启动 Python。 - mrry
你知道吗,你可以使用Docker来使用TensorFlow。相关指令在他们的网站上有提供。Pycharm 5.0与Docker有很好的集成,因此你可以在Pycharm中使用TensorFlow。 - Shubhashis
你能告诉我们更多关于你正在运行Python客户端的目录吗?或者,如果你已经自己解决了这个问题,请让我们知道。 - Eugene Brevdo
13个回答

4

我建议使用Anaconda。它可以轻松安装所有所需的依赖项(大多数都是自动安装的),并且有多个选项可用于安装tensorflow。

conda install tensorflow

或者

conda install tensorflow-gpu

4

在tensorflow源目录下无法导入tensorflow。 在运行python之前,先更改目录,即使用cd ..命令。

我强调了您错误的关键部分:“导入tensorflow错误。除非您使用bazel, 否则不应尝试从其源目录导入tensorflow;请退出tensorflow源代码树,并从那里重新启动您的Python解释器。”


1
我可以问一下为什么您要给我点踩吗?这样我就可以改进我的回答了。 - The Puternerd

4
问题出在您的tensorflow安装版本和环境配置上。我也遇到了同样的问题,因为我安装的是针对Python 3.5版本的tensorflow,而我的系统则是3.6版本。
请为您的安装选择正确的安装包。 https://pypi.python.org/pypi/tensorflow 这样应该就可以解决问题了。

2

如果你在tensorflow源代码文件夹中工作(无论你将git存储库克隆到哪里),当你启动python时,你会遇到这个问题。 当你运行"import tensorflow"时,Python不知道该引入哪一个(你目录下的还是系统安装的)。 这就是错误信息试图表达的含义。

只需切换到你的主目录或一个新的空目录,它就应该可以正常工作了。


我遇到了同样的问题。您能否稍微解释一下“只需更改为您的主目录或一个新的空目录”是什么意思?谢谢! - late_riser
假设您正在Linux或macOS终端上,输入cd ~cd <另一个文件夹>,其中<另一个文件夹>不包含TensorFlow源代码。 - gunan
"source tree" 是什么意思?我按照入门指南尝试了一下,但是甚至无法开始 :-( - Abhishek
Source tree 是 TensorFlow 的实际源代码。当你执行 git clone http://github.com/tensorflow/tensorflow,然后进入 cd tensorflow 目录时,它就是你所在的目录,以及该目录下的任何子目录。 - gunan

2
强烈建议您使用虚拟环境。在学习到虚拟环境之前,我苦于安装tensorflow及其依赖项数周。您可以按照官方教程进行安装。(https://www.tensorflow.org/versions/r0.9/get_started/os_setup.html) 它包含了您可能需要使用的所有库。此外,您还可以在Python IDE中修改您的环境。这样,每次使用时您就不必激活和停用虚拟环境,非常方便!

2
我曾遇到类似的问题。错误信息也包含了"ImportError: No module named google.protobuf"这一行。如https://github.com/tensorflow/tensorflow/issues/1415所述,解决这个问题的方法是在tensorflow/google目录下创建一个空的__init_.py文件,该目录下还应该有protobuf文件夹。希望这可以帮到您。

2
在终端输入命令python之前,您的工作空间不应该是包含tensorflow-0.6.0-cp27-none-linux_x86_64.whl的目录。也就是说,您的工作空间应该与tensorflow-0.6.0-cp27-none-linux_x86_64.whl所在的目录不同。请注意保留HTML标签,但不要添加解释。

2

我建议你使用Anaconda,这个工具对于机器学习和数据科学的工作非常有帮助。


1
跟着以下步骤进行:
sudo apt-get install python-pip python-dev

export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0-cp27-none-linux_x86_64.whl

sudo pip install --upgrade $TF_BINARY_URL

然后运行Python。它应该可以正常工作。

0

如果你不是非常熟悉Python,但又想从源码安装TensorFlow,那么这可能会让你很头疼。因为你不能从TensorFlow的目录中导入TensorFlow。如果你退出TENSORFLOW_ROOT,则应该可以正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接