0

我正在尝试使用此 Python 程序进行车辆路由,使用 OR 工具创建“数据矩阵”。示例程序发布在https://developers.google.com/optimization/routing/vrp 它是页面最底部的完整程序。该程序应该从 GoogleDistance Matrix API 获取数据,并使用输入的地址打印出用于车辆路线/优化问题的数据矩阵。但我得到了错误。如果我取出最后几行,程序似乎运行没有错误(但是,当然没有打印所需的数据)我有工作的 API 密钥,并且安装了 OR 工具,所以这不是问题。

运行完整程序时出现这些错误

Traceback (most recent call last):
  File "C:\Users\shane\exampleprogram.py", line 94, in <module>
    main()
  File "C:\Users\shane\exampleprogram.py", line 91, in main
    distance_matrix = create_distance_matrix(data)
  File "C:\Users\shane\exampleprogram.py", line 46, in create_distance_matrix
    response = send_request(origin_addresses, dest_addresses, API_key)
  File "C:\Users\shane\exampleprogram.py", line 71, in send_request
    jsonResult = urllib.urlopen(request).read()
AttributeError: module 'urllib' has no attribute 'urlopen'

我可以修改一些简单的东西以使该程序在我的计算机上按预期工作/这里发生了什么?请注意,除了插入我自己的 API 密钥(它本身有效,但没有发布)之外,我已经完全按照谷歌网站上发布的方式运行该程序。例如,第 94 行是读取“main()”的程序的最底部,如果它也有用的话,这是我的代码的图片。 codeimage任何有用的建议将不胜感激。谢谢。

4

1 回答 1

0

以下为我工作。

  • 导入 urllib。请求而不是导入 urllib
  • 在发生错误的行(在您的情况下为第 71 行)使用 jsonResult = urllib. 请求.urlopen(request).read()
于 2021-10-25T14:42:15.913 回答