【问题标题】:geopy TypeError : geocode() missing 1 required positional argument: 'query'geopy TypeError:geocode()缺少1个必需的位置参数:'查询'
【发布时间】:2016-12-25 05:06:26
【问题描述】:

如果这是一个太基本的问题,我很抱歉,但是我无法理解 geopy 向我抛出的一个简单错误。

In [78]: import geopy

In [79]: geopy.geocoders.Nominatim.geocode("Mumbai")
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-79-2465009b9d72> in <module>()
----> 1 geopy.geocoders.Nominatim.geocode("Mumbai")

TypeError: geocode() missing 1 required positional argument: 'query'

但是,以下方法有效,我不明白这两种方法有何不同:

In [83]: from geopy.geocoders import Nominatim

In [84]: geolocator = Nominatim()

In [85]: geolocator.geocode("Mumbai")
Out[85]: Location(Mumbai, Greater Bombay, Maharashtra, India, (18.9321862, 72.8308337, 0.0))

据我所知,两者似乎是等价的。我错过了什么?

【问题讨论】:

    标签: python google-maps python-3.x geopy


    【解决方案1】:

    问题在于,在第一种情况下,您没有创建Nominatum 类的实例,而是尝试使用单个参数调用geocode() instance method。由于没有实例,Mumbai 用作self 位置参数值,而未指定所需的query 参数 - 因此出现错误。

    如果geocode() 是“类方法”而不是“实例方法”(reference),则这两个选项是等效的。

    【讨论】:

      猜你喜欢
      • 2014-09-13
      • 1970-01-01
      • 1970-01-01
      • 2019-10-10
      • 2017-03-27
      • 2019-11-12
      • 2019-12-23
      • 2021-02-01
      相关资源
      最近更新 更多