已安装Geohash模块但导入错误

时间:2016-04-14 17:45:29

标签: ipython geohashing

我在Windows 10中使用ipython Jupyter笔记本。我已经在cmd中使用pip install geohash安装了Geohash。 当我尝试使用geohash(import geohash)时出现以下错误:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-7-840910eb012f> in <module>()
----> 1 import geohash

ImportError: No module named 'geohash'

再次检查是否安装了geohash,然后在我尝试重新安装时发出以下消息:

C:\Users\Himal Acharya>pip install geohash
Requirement already satisfied (use --upgrade to upgrade): geohash in c:\users\himal acharya\anaconda3\lib\site-packages
Requirement already satisfied (use --upgrade to upgrade): docutils>=0.3 in c:\users\himal acharya\anaconda3\lib\site-packages (from geohash)

我再次卸载geohash。我从github手动安装geohash但出现同样的问题: 导入错误

4 个答案:

答案 0 :(得分:11)

pip install python-geohash

这应该解决它。

答案 1 :(得分:1)

找到了另一种方法,它就像魅力一样。

来自gd-inm来源:https://github.com/vinsci/geohash/issues/4

  1. 将包名称重命名为geohash而不是Geohash
  2. 更改 init .py以从.geohash(在模块名称前加点)导入,而不是从geohash导入
  

我遇到了同样的问题-如果将包名称重命名为geohash   而不是Geohash,然后更改 init .py从中导入   .geohash(模块名称前带有点),而不是来自   geohash,该软件包应适用于Python 3.5.2。

答案 2 :(得分:1)

pip uninstall Geohash
pip install geohash2

它将安装https://github.com/DBarthe/geohash版本,该版本与vinsci版本完全相同,但符合Python 3导入语法(DBarthe做了@PoonLany在其答案中解释的内容)

答案 3 :(得分:0)

我在python3上遇到了同样的问题,这使我使用“ pygeohash”而不是geohash。

安装

pip install pygeohash

用法

import pygeohash as pgh

pgh.encode(42.6, -5.6)
# >>> 'ezs42e44yx96'

pgh.encode(42.6, -5.6, precision=5)
# >>> 'ezs42'

pgh.decode('ezs42')
# >>> ('42.6', '-5.6')

pgh.geohash_approximate_distance('bcd3u', 'bc83n')
# >>> 625441