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

Python 为什么在不同的位置运行相同的脚本会导致错误?,python,Python,我试着在Ubuntu 13.10中运行一个使用第三方模块的脚本(完全由pip安装模块安装)。此脚本位于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

我试着在Ubuntu 13.10中运行一个使用第三方模块的脚本(完全由
pip安装模块安装)。此脚本位于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'
$python test.py
回溯(最近一次呼叫最后一次):
文件“test.py”,第3行,在
进口食品
文件“/media/path/to/project/test.py”,第6行,在
api=foo.foo(api_键)
AttributeError:“模块”对象没有属性“Foo”

但是当我将相同的代码复制到
~/Desktop/test.py
时,它就正常工作了。脚本的位置是导致这些错误的原因吗?如果不是,问题是什么?

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

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

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

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

看起来可能是脚本位置,至少从您编写的内容来看是这样的。你能试着在2-3个不同的地方复制,试着从那里运行,看看脚本是如何反应的,然后也在这里发布,这样我们就可以更好地理解为什么会出现错误。我发现一些文件使用了重复的名称。所以,它是调用假文件(没有任何属性)并出现错误,谢谢!