首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入Basemap在Fedora 21下失败

导入Basemap在Fedora 21下失败
EN

Stack Overflow用户
提问于 2014-12-16 13:25:02
回答 1查看 624关注 0票数 0

我安装了Python和Python data(以及它的所有依赖项,例如pyproj),但由于这个错误,我无法在一个简单的Python程序中导入Basemap:

代码语言:javascript
复制
$ python mapper.py
Traceback (most recent call last):
  File "mapper.py", line 4, in <module>
    from mpl_toolkits.basemap import Basemap
  File "/usr/lib64/python2.7/site-packages/mpl_toolkits/basemap/__init__.py", line 30, in <module>
    from mpl_toolkits.basemap import pyproj
  File "/usr/lib64/python2.7/site-packages/mpl_toolkits/basemap/pyproj.py", line 241, in <module>
    raise IOError(msg)
IOError: proj data directory not found. Expecting it at: /usr/lib64/python2.7/site-packages/mpl_toolkits/basemap/data

我从这里尝试了解决方案(替换代码片段):Get PyInstaller to import Basemap,但这也不起作用。你有什么意见建议?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-29 19:02:50

在Fedora 20中,/usr/lib64/python2.7/site-packages/mpl_toolkits/basemap/pyproj.py有一行:

代码语言:javascript
复制
pyproj_datadir = '/usr/share/basemap'

在Fedora 21中,数据目录已更改为:

代码语言:javascript
复制
pyproj_datadir = os.sep.join([os.path.dirname(__file__), 'data'])

在Fedora 21中,pyproj.py正在寻找/usr/lib64/python2.7/site-packages/mpl_toolkits/basemap/data,中的数据,但是用于python data和python data的rpm包仍然将proj数据放在/usr/share/basemap中。在这个问题得到解决之前,我找到了两个解决办法:

  1. 创建目录/usr/lib64/python2.7/site-packages/mpl_toolkits/basemap/data并将/usr/share/basemap中的数据复制到该新目录中,或
  2. 编辑文件pyproj.py并更改行

代码语言:javascript
复制
pyproj_datadir = os.sep.join([os.path.dirname(__file__), 'data'])

代码语言:javascript
复制
pyproj_datadir = '/usr/share/basemap'    
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27505708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档