似乎模块六isn't supported for Python2.7,所以如果我调用一个模块导入它就像这样:
describe BazWrapper do
describe '.get_api_response' do
let(params) {
{
approval_code: 'x'
}
}
before do
stub_request(:any, 'www.example.com').
to_return(:body => 'blah', :status => 200)
end
it 'requests the data' do
BazWrapper.get_api_response(params)
expect(WebMock).to have_requested(:post, 'www.example.com').
with(query: { approval_code: 'x' })
end
end
end
然后我得到:
from six.moves.urllib import parse
有没有人知道是否有一个Python2.7模块可以替换这个模块吗?
编辑:
这是回溯(它是一个使用foursquare模块的API刮刀,问题是调用解析...):
NameError: global name 'parse' is not defined
答案 0 :(得分:0)
您的代码中几乎肯定会有以下内容:
def f():
params = parse.urlencode("...")
f()
from six.moves.urllib import parse
在导入解析之前,您已在某处调用了一个函数。
查看source,行params=parse.urlencode(params))
位于第155行,但回溯显示第157行,因此您要么修改了源代码或者你使用的版本是> 11个月大,因为这是foursquare/__init__.py
最后一次更新,很可能你已经修改了一些东西。
您可能需要考虑实际安装软件包,而不是运行同一文件夹中的代码:
pip2 install foursquare
然后从不同的目录运行您的脚本,这将为您的问题提供明确的答案。