为什么在不同位置运行相同的脚本会导致错误?

时间:2014-01-25 09:13:59

标签: python

我尝试在Ubuntu 13.10中运行使用第三方模块(由pip install module完全安装)的脚本。此脚本位于NTFS分区中。

import foo

API_KEY = "xxx"
api = foo.FOO(APIKEY)

并且它返回错误,如

$ python test.py
Traceback (most recent call last):
  File "test.py", line 3, in <module>
    import foo
  File "/media/path/to/project/test.py", line 6, in <module>
    api = foo.Foo(API_KEY)
AttributeError: 'module' object has no attribute 'Foo'

但是当我将相同的代码复制到~/Desktop/test.py时,它才能正常工作。脚本的位置是否会导致这些错误,或者它不是什么问题?

1 个答案:

答案 0 :(得分:1)

检查目录中是否有foo.py个文件。如果有,则可能会阻止导入所需的模块。

在两个目录中发出以下命令将为您提供foo模块的路径:

python -c "import foo; print(foo.__file__)"

如果您发现意外foo.py,请重命名或删除它。 (确保没有foo.pyc