python - 通过 Macports 安装 matplotlib basemap 后, basemap 的示例 python 代码未运行

标签 python numpy matplotlib scipy

我使用的是 Mac OS X 10.6.8。我使用 http://www.python.org/ 中的二进制安装程序安装了 Python 2.6。 .自 2011 年 3 月以来,我一直将它与 SciPy 和 Matplotlib 一起用于我的科学计算需求,没有任何问题。最近,我需要一个名为 Basemap 的 matplotlib 库。

我在 https://modelingguru.nasa.gov/docs/DOC-1847 上关注了这篇文章.它指出安装 Basemap 库的最简单方法是通过 Macports(或 Fink)。所以我尝试通过 Macports 安装 Basemap。我执行了命令

port install py-matplotlib-basemap

它似乎安装了很多东西,例如 Python 2.4 等。具体来说,我再次使用 Macports,但这次使用

port install py26-matplotlib-basemap 

因为我使用的是 Python 2.6。安装似乎没有任何问题。

现在,我通过运行使用 basemap 进行绘图的 Python 代码示例来测试 basemap 是否已正确安装。但是终端在返回提示之前会说以下内容:

Traceback (most recent call last):
File "basemap-test.py", line 1, in <module>
from mpl_toolkits.basemap import basemap
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/mpl_toolkits/basemap/__init__.py", line 45, in <module>
import _geoslib, netcdftime
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/_geoslib.so, 2): Symbol not found: _GEOSArea
Referenced from: /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/_geoslib.so
Expected in: dynamic lookup

这里可能有什么问题?我知道 Macports 安装了自己的 Python 版本,我不知道这是否对这个问题有影响。

最佳答案

如您所述,MacPorts 安装了自己的 Python 版本(默认情况下,位于 /opt/local/bin/python2.6)。如果你通过 MacPorts 安装 Python 包,比如 basemap ,你通常需要在 MacPorts Python 下运行所有​​东西。不要尝试混合和匹配 Python 实例。包含 C 扩展模块或依赖于包含 C 库的其他包的包必须以与 Python 解释器的构建方式兼容的方式构建。来自 python.org 的 Python 2.6 安装程序仅支持 32 位,并且与一系列 OS X 版本兼容。默认情况下,如果可能,MacPorts 在 10.6 上构建的内容将是 64 位的,并且仅为 10.6 系统量身定制。从长远来看,最安全和最简单的选择是切换到使用 MacPorts Python,确保从 MacPorts 安装您需要的所有包。

关于python - 通过 Macports 安装 matplotlib basemap 后, basemap 的示例 python 代码未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7783640/

相关文章:

python - 如何正确使用 lambda 和 pandas df ?

python - 加入列并在行中 reshape

python - 如何将for循环每次迭代的结果存储到python中的数组中

python - Matplotlib/Pyplot : How to zoom subplots together AND x-scroll separately?

python - 如何知道 matplotlib 安装启用的功能?

python - 保留 FuncAnimation 帧之间的轴设置

python - 在 TensorFlow 2.0 中,如何查看数据集中的元素数量?

python - GoogleTrans Python 不翻译

python - Django 使用整数字段作为外键字段

python - 有没有办法将 numpy.where() 用于将 NaN 值作为无数据的栅格数据?