簡體   English   中英

在 Ubuntu 18.04 上使用 Python3.6 安裝 Basemap

[英]Installing Basemap with Python3.6 on Ubuntu 18.04

在過去的幾個小時里,我一直在嘗試啟動並運行Basemap 按照本教程我運行:

venv在 Pycharm 上的 venv 中conda install basemap 安裝按計划進行,我在終端中收到一條消息,指出 basemap-1.2.0 已安裝。 運行我的程序時:

Downloading and Extracting Packages
proj4-5.0.1          |  7.0 MB | ############################################################################################################################################################################################################################### | 100% 
certifi-2018.10.15   |  139 KB | ############################################################################################################################################################################################################################### | 100% 
libgcc-ng-8.2.0      |  7.6 MB | ############################################################################################################################################################################################################################### | 100% 
libstdcxx-ng-8.2.0   |  2.9 MB | ############################################################################################################################################################################################################################### | 100% 
pyshp-1.2.12         |   35 KB | ############################################################################################################################################################################################################################### | 100% 
pyproj-1.9.5.1       |   64 KB | ############################################################################################################################################################################################################################### | 100% 
openssl-1.0.2p       |  3.5 MB | ############################################################################################################################################################################################################################### | 100% 
conda-4.5.11         |  1.0 MB | ############################################################################################################################################################################################################################### | 100% 
geos-3.6.2           |  1.6 MB | ############################################################################################################################################################################################################################### | 100% 
basemap-1.2.0        | 15.2 MB | ############################################################################################################################################################################################################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done


 Traceback (most recent call last):
  File "/home/PycharmProjects/first_prog/venv/test.py", line 5, in <module>
    from mpl_toolkits.basemap import Basemap
ModuleNotFoundError: No module named 'mpl_toolkits.basemap'

我看到一些答案指出應該從源代碼安裝 Basemap 而不是使用 conda,所以我從源代碼安裝了 Basemap。

我首先安裝了geos。 從 basemap-1.xx 目錄切換到 geos 目錄,設置 GEOS_DIR 環境變量。

basemap-1.x.x $ cd geos-3.3.3
basemap-1.x.x/geos-3.3.3 $ export GEOS_DIR=~/
basemap-1.x.x/geos-3.3.3 $ ./configure --prefix=$GEOS_DIR

basemap-1.x.x/geos-3.3.3 $ make  <---- ERROR HERE
basemap-1.x.x/geos-3.3.3 $ make install

在運行make命令時,我收到此錯誤:

Makefile:373: recipe for target 'IndexedPointInAreaLocator.lo' failed
make[4]: *** [IndexedPointInAreaLocator.lo] Error 1
make[4]: Leaving directory '/home/Downloads/basemap-1.0.7/geos-3.3.3/src/algorithm/locate'
Makefile:392: recipe for target 'check-recursive' failed
make[3]: *** [check-recursive] Error 1
make[3]: Leaving directory '/home/Downloads/basemap-1.0.7/geos-3.3.3/src/algorithm/locate'
Makefile:444: recipe for target 'check-recursive' failed
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory '/home/Downloads/basemap-1.0.7/geos-3.3.3/src/algorithm'
Makefile:476: recipe for target 'check-recursive' failed
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory '/home/Downloads/basemap-1.0.7/geos-3.3.3/src'
Makefile:368: recipe for target 'check-recursive' failed
make: *** [check-recursive] Error 1

有幾種解決此錯誤的方法,但都沒有奏效。 我嘗試使用CheckInstall ,遵循此線程,嘗試使用DNF ,遵循這些命令等等,但沒有任何效果。

ImportError: Ubuntu 16.04.3 - 在 python 2.7.12 上安裝底圖模塊是相關的,但錯誤仍然存​​在。

安裝 Basemapmake錯誤有關,但make: *** [all-recursive] Error 1仍然存在。

我究竟做錯了什么? 安裝 Basemap 真的這么難嗎? 我完全被困在這里,非常感謝任何幫助。

下面的方法應該有效。 您可以在此處下載存檔。

pip install --upgrade --user matplotlib numpy pyproj pyshp OWSLib Pillow
sudo apt install libgeos-dev
pip install --user --upgrade basemap-1.2.0rel.tar.gz

我發現這個腳本對我有用。 它與其他答案略有不同,因為它下載並安裝底圖而無需單獨下載。

pip install --upgrade --user matplotlib numpy pyproj pyshp OWSLib Pillow 
sudo apt-get update 
sudo apt install libgeos-dev 
pip install --user https://github.com/matplotlib/basemap/archive/master.zip

我遇到了完全相同的問題:甚至是相同的錯誤。 似乎當我使用更高版本的 g++/gcc(~v7.4) 來編譯舊版本的 geos(對我來說是~3.3.0)時,出現了這個問題。

然后我去https://trac.osgeo.org/geos/獲取3.8.0版本的geos,仍然使用普通的gcc/g++,一切都很好。

希望這可以幫助您和其他人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM