【问题标题】:ImportError: cannot import name 'compile'ImportError:无法导入名称“编译”
【发布时间】:2016-05-06 11:50:53
【问题描述】:

我正在尝试在我的 Mac(OSX El Capitan 版本 10.11.1)上安装 python 3.4 和 TensorFlow。
我按照这里的说明进行操作

Pip Installation

我可以的

$ sudo easy_install pip
$ sudo easy_install --upgrade six  

但这部分变得困难:

$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.5.0-py2-none-any.whl  

我输入了密码; 它给了我一个回溯:

Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pkg_resources/__init__.py", line 2859, in _dep_map
return self.__dep_map
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pkg_resources/__init__.py", line 2696, in __getattr__
raise AttributeError(attr)
AttributeError: _DistInfoDistribution__dep_map

在处理上述异常的过程中,又发生了一个异常:

Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.4/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pkg_resources/__init__.py", line 3138, in <module>
@_call_aside
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pkg_resources/__init__.py", line 3124, in _call_aside
f(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pkg_resources/__init__.py", line 3151, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pkg_resources/__init__.py", line 661, in _build_master
ws.require(__requires__)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pkg_resources/__init__.py", line 962, in require
needed = self.resolve(parse_requirements(requirements))
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pkg_resources/__init__.py", line 857, in resolve
new_requirements = dist.requires(req.extras)[::-1]
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pkg_resources/__init__.py", line 2640, in requires
dm = self._dep_map
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pkg_resources/__init__.py", line 2861, in _dep_map
self.__dep_map = self._compute_dependencies()
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pkg_resources/__init__.py", line 2878, in _compute_dependencies
from _markerlib import compile as compile_marker
ImportError: cannot import name 'compile'

我错过了什么重要信息吗?

【问题讨论】:

  • 请编辑您的帖子并为您的堆栈跟踪使用代码格式。谢谢。
  • 来自GitHub 的仅供参考 TensorFlow 的版本是 0.6.0,而您尝试安装的 Python 轮子是 0.5.0。如果你想要更新的版本,你需要从 source 构建。
  • 您是否尝试过下载 .wheel 文件并从本地安装?
  • 在阅读了 mrry 的 answer 之后,我在 GitHub 站点的 Download and Setup page - storage.googleapis.com/tensorflow/mac/… 上查找了 OS X py3 pip install wheel for TensorFlow 0.6.0 链接

标签: python macos tensorflow


【解决方案1】:

这个错误的主要原因是你试图安装的包是一个Python 2的wheel文件。 (URL 中的py2 是这方面的线索此外,正如 Guy Coder 在 cmets 中指出的那样,您正在安装不支持 Python 3 的 TensorFlow 0.5.0 版。)

最好的解决方案是安装Python 3–compatible package:

$ sudo pip install --upgrade http://storage.googleapis.com/tensorflow/mac/tensorflow-0.6.0-py3-none-any.whl

(在网站上似乎很难找到这些链接,因此我们会尽快修复。)

【讨论】:

  • 谢谢。我没想到要检查其他位置以获取其他版本的链接,例如GitHub。
  • 好吧,我尝试了 TensorFlow 版本 0.6.0,它给了我同样的错误。所以我使用 $ python --version 检查了我的 python 版本,它给了我 python 2.7,这让我很困惑。然后我去了上面的目录:/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/ 并再次检查,没有运气。我最终再次安装了 64 位的 python 3.4。然后发现我需要用这个命令询问哪个版本:python3 --version,它给出了 Python 3.4.4rc1。然后我使用该命令“python3”进入python3,尝试导入tensorflow它工作!谢谢! :-) :-)
猜你喜欢
  • 1970-01-01
  • 2016-03-31
  • 2014-10-10
  • 2014-09-20
  • 2014-08-28
  • 2014-06-10
  • 2016-05-16
  • 2019-05-25
  • 2017-04-22
相关资源
最近更新 更多