【发布时间】:2020-04-15 19:59:58
【问题描述】:
我无法在 OS X 上导入 mpl_toolkits,显然是因为包目录 (/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/mpl_toolkits) 中缺少 __init__.py 文件。
$ python -c 'import mpl_toolkits'
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named mpl_toolkits
$ ls /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/mpl_toolkits
axes_grid axes_grid1 axisartist exceltools.py exceltools.pyc gtktools.py gtktools.pyc mplot3d
子包mplot3d 确实有一个__init.py__ 但也不能导入:
$ ls /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/mpl_toolkits/mplot3d/
__init__.py __init__.pyc art3d.py art3d.pyc axes3d.py axes3d.pyc axis3d.py axis3d.pyc proj3d.py proj3d.pyc
$ python -c 'from mpl_toolkits.mplot3d import axes3d'
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named mpl_toolkits.mplot3d
从 OS X 10.11 开始,即使是 root 在/System 中也没有写权限。我知道可以通过执行csrutil disable 启动进入恢复模式并禁用系统完整性保护,这将允许创建丢失的__init.py__ 文件。但是,有没有更简单的方法让 python 知道这个包?
【问题讨论】:
-
你没有使用虚拟环境吗?
标签: python macos python-2.7