python - 让 python 知道缺少 __init__.py 的包
问题描述
我无法在 OS X 上导入,显然是因为包目录 ( )mpl_toolkits
中缺少文件。__init__.py
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/mpl_toolkits
$ 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 2。Matplotlib 不久前放弃了对 Python 2 的支持。Python 开发团队本身将在一周内(2020 年初)放弃所有 Python 2 支持。您至少需要 Python 3.6 才能使最新的 Matplotlib 工作。
推荐阅读
- python - 使用 geopandas 计算多边形的正确面积
- reactjs - 错误!当我运行 npm start 命令来运行反应应用程序时
- java - 如何在我的 android studio 项目中添加自己的地图图层
- swift - 使用表格视图快速保存基于文档的应用程序
- reactjs - 如何使用 React 使预加载器块在 N 秒后消失
- laravel - 在此服务器上未找到请求的资源 /qrcodes
- apache-spark - 哪个 hive 版本与上一个 spark 版本 (2.4.3) 兼容?
- c# - 如何删除 Unity3D 中按钮之间的间距?
- android - 带有 API 15 的 Android 设备上的 WebRTC
- php - 如果数组是从 .txt 文件创建的,则 php 中的 str_replace() 仅替换参数数组的最后一个元素