Tensorflow 在 mac 上成功安装,但在使用时在 copyreg 上出现 ImportError [关闭]
Posted
技术标签:
【中文标题】Tensorflow 在 mac 上成功安装,但在使用时在 copyreg 上出现 ImportError [关闭]【英文标题】:Tensorflow successfully installs on mac but gets ImportError on copyreg when used [closed] 【发布时间】:2016-02-10 20:38:25 【问题描述】:pip install
成功后,导入tensorflow库失败。
>>> import tensorflow
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.7/site-packages/tensorflow/__init__.py", line 4, in <module>
from tensorflow.python import *
File "/Library/Python/2.7/site-packages/tensorflow/python/__init__.py", line 13, in <module>
from tensorflow.core.framework.graph_pb2 import *
File "/Library/Python/2.7/site-packages/tensorflow/core/framework/graph_pb2.py", line 8, in <module>
from google.protobuf import reflection as _reflection
File "/Library/Python/2.7/site-packages/google/protobuf/reflection.py", line 58, in <module>
from google.protobuf.internal import python_message as message_impl
File "/Library/Python/2.7/site-packages/google/protobuf/internal/python_message.py", line 59, in <module>
import six.moves.copyreg as copyreg
ImportError: No module named copyreg
【问题讨论】:
在这里有答案:***.com/questions/33656551/… 为什么这个问题因为不清楚而关闭? 【参考方案1】:您可以使用
升级到 6-1.10.xeasy_install -U six
这会将当前的 6 版本从 1.4 升级到 1.10.x,这是 tensorflow 所需的。
【讨论】:
这对我有用,谢谢@abhilash @Mandy 不客气! 谢谢。升级对我有用。我也以相同的方式升级了 numpyeasy_install -U numpy
,因为需要 numpy 版本 1.9.2 或更高版本。【参考方案2】:
解决方案:TensorFlow 依赖于 protobuf,需要 6-1.10.0。苹果默认的python环境有六个-1.4.1,升级可能比较困难。因此,我们建议通过自制软件安装单独的 python 副本:
brew 安装 python
或如上所述在 virtualenv 中构建/使用 TensorFlow。
【讨论】:
升级六个可能并不难。尝试运行easy_install -U six
最新指令here
非常感谢,brew install python 解决了我的问题
brew install python 也为我做了【参考方案3】:
copyreg
是一个python3
函数,可在python2.x
的six
模块中使用,请参阅https://docs.python.org/2/library/copy_reg.html#module-copy_reg
要获取copyreg
,你必须安装six
:
pip install -U six
(注意:在python2
中,你可以使用(i)six.copy_reg
访问函数,或者当使用six.moves.*
导入模块时,它保持python3
语法,即six.moves.copyreg
)
【讨论】:
【参考方案4】:由于没有建议的修复对我有用,我更改了行
import six.moves.copyreg as copyreg
到
from six.moves import copyreg
这似乎解决了这个问题。但是,我得到另一个 ImportError 代替说
dlopen(/Library/Python/2.7/site-packages/tensorflow/python/_pywrap_tensorflow.so, 2): no suitable image found. Did find:
/Library/Python/2.7/site-packages/tensorflow/python/_pywrap_tensorflow.so: mach-o, but wrong architecture
如果其他人在这方面可能比我更成功,请将其发布为答案。
【讨论】:
以上是关于Tensorflow 在 mac 上成功安装,但在使用时在 copyreg 上出现 ImportError [关闭]的主要内容,如果未能解决你的问题,请参考以下文章