python:python脚本中缺少模块属性,但在解释器中没有

时间:2013-11-14 09:45:57

标签: python python-2.7

我使用plivo安装了一个python包sudo pip install plivo

和解释器我用一些代码测试它,如:

 >>> import plivo
 >>> p = plivo.RestAPI('xxx', 'yyy')

python解释器中的一切正常。

完全相同的代码无法在python脚本中运行 test_plivio.py 给出错误:AttributeError: 'module' object has no attribute 'RestAPI'

然后我查看dir() 在翻译中

>>> dir(plivo)
['Account', 'Application', 'Call', 'Carrier', 'Conference', 'ConferenceMember', 'EndPoint', 'Message', 'Number', 'PLIVO_VERSION', 'PlivoError', 'PlivoResponse', 'Pricing', 'Recording', 'RestAPI', 'SubAccount', 'XML', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'base64', 'hmac', 'json', 'requests', 'sha1', 'validate_signature']

RestAPI就在那里。

而在 test_plivo.py dir(plivo)就像:

['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'main']

脚本中dir(plivo)显然缺少RestAPI其他功能。

为什么这种行为以及如何解决?

1 个答案:

答案 0 :(得分:2)

您正在导入其他模块;在您的路径上,您有一个不同的 plivo.py(或plivo.pyc缓存字节码)文件。

打印__file__属性以查看导入的内容:

print plivo.__file__

并重命名或将其移动到其他地方。