anaconda macOS ImportError:无法导入名称'MappingProxyType'
Posted
技术标签:
【中文标题】anaconda macOS ImportError:无法导入名称\'MappingProxyType\'【英文标题】:anaconda macOS ImportError: cannot import name 'MappingProxyType'anaconda macOS ImportError:无法导入名称'MappingProxyType' 【发布时间】:2017-05-25 12:51:51 【问题描述】:我刚刚在我的 mac (macOS Sierra 10.12.2) 上安装了带有 python 3 的 anaconda,许多包在导入时会出错。似乎这与打字包有关,但我不知道发生了什么。 如果我这样做了
python -c 'import sklearn'
(python 是Python 3.5.2 :: Anaconda 4.2.0 (x86_64)
)
我得到这个错误:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/Users/geromepistre/anaconda3/lib/python3.5/site-packages/sklearn/__init__.py", line 57, in <module>
from .base import clone
File "/Users/geromepistre/anaconda3/lib/python3.5/site-packages/sklearn/base.py", line 6, in <module>
import copy
File "/Users/geromepistre/anaconda3/lib/python3.5/copy.py", line 51, in <module>
import types
File "/Users/geromepistre/types.py", line 1, in <module>
import typing
File "/Users/geromepistre/anaconda3/lib/python3.5/typing.py", line 4, in <module>
import contextlib
File "/Users/geromepistre/anaconda3/lib/python3.5/contextlib.py", line 5, in <module>
from functools import wraps
File "/Users/geromepistre/anaconda3/lib/python3.5/functools.py", line 22, in <module>
from types import MappingProxyType
ImportError: cannot import name 'MappingProxyType'
我试图深入研究错误中提到的包,但它变得更加混乱。
import types
和 import contextlib
给出了相同的错误。但是,如果我首先import contextlib
(并得到一个错误),那么import types
不会让我出错。我在import sklearn
上遇到了一个全新的错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/geromepistre/anaconda3/lib/python3.5/site-packages/sklearn/__init__.py", line 57, in <module>
from .base import clone
File "/Users/geromepistre/anaconda3/lib/python3.5/site-packages/sklearn/base.py", line 6, in <module>
import copy
File "/Users/geromepistre/anaconda3/lib/python3.5/copy.py", line 114, in <module>
types.BuiltinFunctionType, type(Ellipsis),
AttributeError: module 'types' has no attribute 'BuiltinFunctionType'
【问题讨论】:
【参考方案1】:您似乎正在从您的主目录运行 Python,根据第一个回溯,该目录包含一个名为 types.py
的文件。由于当前目录(Unix/Linux 用语中的.
)是sys.path
中的第一个条目,因此Anaconda 在标准库或站点包之前搜索模块/文件。
出于这个原因,尽量避免为标准库或站点包中的模块命名文件。将您的文件 types.py
重命名为 my_types.py
或其他东西应该可以解决问题。
【讨论】:
感谢您发现这一点,我不知道该文件是如何到达那里的。无论如何,这最终使它对社区来说不是一个很有用的问题...... 我确实重命名了模型 types.py 并且仍然得到同样的错误,我应该做些什么来解决这个问题?以上是关于anaconda macOS ImportError:无法导入名称'MappingProxyType'的主要内容,如果未能解决你的问题,请参考以下文章
无法更新到 Anaconda Navigator 1.10.0 (MacOS)
anaconda macOS ImportError:无法导入名称'MappingProxyType'
MacOS Sierra中Anaconda的安装以及在PyCharm的设置
ArcGIS错误ImportErro: No module named numpy
解决与 urllib3 冲突以在 Macos 上使用 anaconda 安装 AWS elastic beanstalk CLI?