ImportError中的Python帮助:没有名为google的模块

时间:2013-08-04 17:41:41

标签: python

我发现这个链接http://machinespirit.net/acegiak/2012/07/10/qad-normalized-google-distance/#comments似乎让我对python代码感兴趣。我做了什么我创建了一个新的g1.py文件将代码复制到其中。然后我chmod 755然后./g1.py我得到以下错误。

./g1.py test test1
Traceback (most recent call last):
  File "./g1.py", line 2, in <module>
    from google import gsearch
ImportError: No module named google

2 个答案:

答案 0 :(得分:3)

我是链接文档的作者。 该代码段使用内部谷歌模块,该模块不公开,旨在显示算法在工作而不是功能的完整实现。

我已经更新了文档以包含gsearch函数的基本截断版本,这个添加的完整代码如下所示:

#!/usr/bin/env python
from google import gsearch
import math,sys
import json
import urllib

def gsearch(searchfor):
  query = urllib.urlencode({'q': searchfor})
  url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&%s' % query
  search_response = urllib.urlopen(url)
  search_results = search_response.read()
  results = json.loads(search_results)
  data = results['responseData']
  return data

args = sys.argv[1:]
m = 45000000000
if len(args) != 2:
        print "need two words as arguments"
        exit
n0 = int(gsearch(args[0])['cursor']['estimatedResultCount'])
n1 = int(gsearch(args[1])['cursor']['estimatedResultCount'])
n2 = int(gsearch(args[0]+" "+args[1])['cursor']['estimatedResultCount'])
l1 = max(math.log10(n0),math.log10(n1))-math.log10(n2)
l2 = math.log10(m)-min(math.log10(n0),math.log10(n1))
distance = l1/l2
print distance

答案 1 :(得分:1)

您必须安装google Python模块。我没有找到任何这样命名的模块。我认为所需的模块是http://code.google.com/p/pygoogle/。因此,您可能必须通过以下方式替换第一个导入:

from pygoogle import search

或者询问帖子作者他获取模块的位置。