2014-01-25 38 views
3

我嘗試在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那麼它的正常工作。腳本的位置是否會導致這些錯誤,或者它不是什麼問題?

+0

看起來它可能是腳本的位置,至少從你寫的東西。你可以嘗試在2-3個不同的地方複製並嘗試從那裏運行,看看腳本如何反應,並在此處張貼,以便我們能夠更好地理解它爲什麼會給出錯誤。 – 2014-01-25 10:53:07

回答

1

檢查目錄中是否有foo.py文件。如果有的話,它可能會阻止導入你想要的模塊。如果您發現有意想不到的foo.py,重命名或刪除它

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

在這兩個目錄

發行下面的命令會給你FOO模塊的路徑。 (確保沒有foo.pyc保留)

+0

我發現一些使用重名的文件。所以,這是假的文件(沒有任何屬性),並得到錯誤,謝謝! – pe3z

相關問題