繁体   English   中英

在python2.7中从六个调用解析

[英]Calling parse from six in python2.7

似乎Python2.7不支持模块6,因此如果我调用一个导入它的模块,如下所示:

from six.moves.urllib import parse

然后我得到:

NameError: global name 'parse' is not defined

有谁知道是否有Python2.7模块可以替代该模块?

编辑:

这是回溯(这是使用foursquare模块的API抓取工具,这是问题调用parse ...的地方):

me@myplace.com [~/scraping/fsquare]# python2.7 fsquare.py
Traceback (most recent call last):
  File "fsquare.py", line 24, in <module>
    auth_url = client.oauth.auth_url()
  File "/home/me/scraping/fsquare/foursquare/__init__.py", line 157, in     auth_url
    params=parse.urlencode(params))
NameError: global name 'parse' is not defined

您几乎肯定可以在代码中包含以下内容:

def f():
   params = parse.urlencode("...")
f()
from six.moves.urllib import parse

在导入解析之前,您已经在某处调用了函数。

查看源代码 ,第155行显示了params=parse.urlencode(params)) 行,但是回溯显示了第157行,因此您修改了源代码或使用的版本早于11个月了时间foursquare/__init__.py已更新,很可能您已修改了某些内容。

您可能需要考虑实际安装软件包,而不是从同一文件夹运行代码:

pip2 install foursquare

然后从其他目录运行脚本,这将为您提供确定的答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM