【问题标题】:Installing basemap on Mac / Python在 Mac / Python 上安装底图
【发布时间】:2017-07-07 01:31:43
【问题描述】:

我无法在我的 Mac 中让底图在 Python 中工作。

我一直收到:

    from mpl_toolkits.basemap import basemap
ImportError: No module named basemap

我做了什么:

brew install gdal
brew install gets
export GEOS_DIR=/usr/local/Cellar/geos/3.4.2/
basemap-1.0.7 $ python setup.py install

我也试过了:

basemap-1.0.7 $ cd geos-3.3.3
basemap-1.0.7/geos-3.3.3 $ export GEOS_DIR=~/
basemap-1.0.7/geos-3.3.3 $ ./configure --prefix=$GEOS_DIR
basemap-1.0.7/geos-3.3.3 $ make
basemap-1.0.7/geos-3.3.3 $ make install
basemap-1.0.7/geos-3.3.3 $ cd ..
basemap-1.0.7 $ python setup.py install

它们都不适合我。 我怎样才能让这个包在 MacOS Sierra 上工作?

【问题讨论】:

    标签: python macos matplotlib-basemap


    【解决方案1】:

    今天我在 10.14 Mojave 做了:

    brew install geos
    pip3 install https://github.com/matplotlib/basemap/archive/master.zip
    

    它似乎可以工作(我的是来自https://python.org 的 Python 3.6,通过 pip 安装了 matplotlib)。

    【讨论】:

    • 我认为这是我找到的最简单的答案!
    • 这是我一直在寻找的。谢谢
    【解决方案2】:

    你有没有设法让它工作?

    按照此处的说明,我能够在 Sierra 上正常安装 Basemap(也使用 Homebrew 作为其依赖项):http://matplotlib.org/basemap/users/installing.html

    几个注意事项,只是为了确保没有被忽视:

    • 在您的笔记中,您列出了 brew install gets,但我认为这是一个错字,而您在安装时实际上是指并使用了 brew install geos
    • 您确定在修改 .bash_profile 时使用了正确的 geos 版本吗?我在网上看到的一些示例使用特定版本,因此总是有可能出现复制/粘贴错误。截至昨天,我最终使用的版本是 3.5.0,所以我的路径看起来像这样:export GEOS_DIR=/usr/local/Cellar/geos/3.5.0/。可以通过查看 /usr/local/Cellar/geos/ 目录来验证版本,以查看安装了哪个版本。
    • 我不是 100% 确定这很重要,但是您是否在修改后重新加载了 .bash_profile? source ~/.bash_profile

    这是我所做的完整列表:

    brew install matplotlib
    brew install numpy
    brew install geos
    brew install proj
    

    已下载 Basemap 1.0.7 源 tar 文件 (https://sourceforge.net/projects/matplotlib/files/matplotlib-toolkits/),解压。

    在我的 .bash_profile 中将export GEOS_DIR=/usr/local/Cellar/geos/3.5.0/ 添加到新行,然后通过以下方式重新加载:

    source ~/.bash_profile
    

    从未解压的底图目录中:

    python setup.py install
    

    使用import mpl_toolkits.basemap as bm 在 python 脚本中导入底图(通过其他地方的教程),并且能够确认它与生成的地图一起使用。

    【讨论】:

    • 谢谢你,@TimKlimowicz。我没有重新加载 bash 配置文件。我会按照你的指导给你反馈,谢谢。 (:
    • 安装指南现在链接到这里的底图版本:github.com/matplotlib/basemap/releases
    • 我还得跑sudo python setup.py install
    【解决方案3】:

    经过长时间的尝试,我设法在 High Sierra 上安装了 basemap-1.1.0。依赖版本控制很重要。

    我用自制软件安装了 Python 3.6。 接下来我创建了一个venv。 然后我使用 pip 安装 matplotlib pip install matplotlib==2.2(3+ 不起作用)。

    然后我按照这里的说明进行操作:

    https://www.fsanmartin.co/mac-install-matplotlib-basemap-on-virtualenv/

    终于成功了!

    非常感谢编写这些说明的好心人。

    【讨论】:

      【解决方案4】:

      我在 macOS Catalina 上安装 Basemap 时遇到问题。安装了所有依赖项,但 Basemap 本身给我带来了麻烦。

      我最终需要安装

      $ pip3 install /path/to/basemap.tar.gz --user
      

      releases page下载最新版本存档后。

      不确定它是否对其他人有帮助,但经过一个小时的反复尝试并尝试不同的事情后,它让我在尝试从 GitHub 安装的地方启动并运行(它将构建但不安装 Basemap 的轮子)直接编译不会。

      【讨论】:

        【解决方案5】:

        我想有人可能会觉得这很方便,因为我需要几个小时才能让底图工作。

        我正在使用带有 Python 2.7 的 High Sierra,并安装了 homebrew。按照thegsi所说的,但后来我仍然有这个错误

        AttributeError: 'module' object has no attribute 'pyproj_datadir'
        

        原来我需要使用早期版本的 pyproj,所以我只是运行

        pip install pyproj==1.9.6
        

        然后在底图文件夹上运行其中一个示例脚本,瞧,底图就可以工作了!!!

        【讨论】:

          猜你喜欢
          • 2014-09-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-11-15
          • 2021-04-14
          • 2013-07-10
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多