2014-11-05 30 views
0

所以我安裝了facebook模塊,意識到這是錯誤的,用pip卸載並安裝了facebook-sdk。這裏是我的代碼:任何方式來看看python從哪裏導入模塊?

import facebook 

token = '[token]' 

graph = facebook.GraphAPI(token) 
profile = graph.get_object("me") 
friends = graph.get_connections("me", "friends") 

friend_list = [friend['name'] for friend in friends['data']] 

print friend_list 

,並得到

Traceback (most recent call last): 
    File "C:\Users\mgraves\Desktop\facebook.py", line 1, in <module> 
    import facebook 
    File "C:\Users\mgraves\Desktop\facebook.py", line 5, in <module> 
    graph = facebook.GraphAPI(token) 
AttributeError: 'module' object has no attribute 'GraphAPI' 

當尋找這件事,每個結果說,卸載Facebook和Facebook的SDK並重新安裝Facebook的SDK。我有很多次。之後我搜索了/ python27/facebook,以確保這些文件不見了。

有什麼辦法可以在Windows機器上追溯我從哪裏導入「臉譜」?

回答

2

模塊對象有一個__file__屬性,對象表示還包括文件:

print facebook 
print facebook.__file__ 

在你的情況,你導入自己的腳本;你把它命名爲facebook以及和被遮蔽的安裝模塊:

File "C:\Users\mgraves\Desktop\facebook.py", line 1, in <module> 
    import facebook 
    File "C:\Users\mgraves\Desktop\facebook.py", line 5, in <module> 
    graph = facebook.GraphAPI(token) 

注意文件名中的第一行,然後將同一文件用於那些進口的事實。 Python將主腳本存儲爲__main__,因此導入腳本本身會導致爲實際文件名創建另一個模塊。

+0

通常我會說謊,並說我找到了搞亂它的文件,但聖潔的廢話。我是如何犯命名我的Python腳本「facebook.py」的錯誤? 謝謝你指出我,並感謝您的幫助。我相信這將在未來派上用場。 – user230250 2014-11-05 18:45:56