2013-03-11 111 views
3

即時通訊試圖與Twitter的API與python3.3在Windows無法在安裝Twitter的API模塊

工作,而我嘗試使用安裝加載JSON庫

python setup.py install 

我得到這個錯誤:

raise ImportError, "Unable to load a json library" 

解決這個我安裝簡單的JSON模塊手動

誤差來s back back

Traceback (most recent call last): 
    File "C:\Users\schatterjee\workspace\test\test.py", line 1, in <module> 
    import twitter 
    File "C:\Python33\lib\site-packages\twitter.py", line 50 
    raise ImportError, "Unable to load a json library" 
       ^
SyntaxError: invalid syntax 

這是爲什麼持續下去?

+0

[讓沒有太大意義(https://github.com/bear/python-twitter/ blob/master/twitter.py#L50),因爲Python 3帶有一個內置的json模塊。運行Python解釋器時'導入json'工作嗎? (即輸入'python'來啓動解釋器) – poke 2013-03-11 12:58:03

+0

@poke import json works,但是import twitter會給出錯誤信息。它是bizzare,但它發生 – codious 2013-03-11 13:01:10

+0

實際上,你正在使用哪個Python庫,因爲另一個[具有相同的行](https://github.com/tweepy/tweepy/blob/master/tweepy/utils.py#L92 )?你也確定你的'python'命令是一個Python 3嗎?因爲既不看Python 3兼容..此外,請張貼完整的追溯。 – poke 2013-03-11 13:02:36

回答

2

好的,回溯確實幫助很多。這個問題並不像原先假定的那樣,沒有JSON庫。相反,你會得到一個語法錯誤,拋出一個錯誤(它不會拋出它!)。

你得到的語法錯誤是因爲顯示的語法是Python的2的原因語法:

raise ExceptionType, "message" 

這句法不再在Python 3語法正確,但必須寫入

raise ExceptionType(message) 

該錯誤支持我假設您選擇的Twitter庫與Python 3不兼容。實際上,庫中有多個內容會導致進一步的語法錯誤。我很驚訝,他們沒有添加支票setup.py通知你這個。

因此,不幸的是,您將無法在Python 3中使用此庫,但需要使用Python 2.如果需要,您可以在計算機上並行安裝Python 2和Python 3。

但是,您也可以查找不同的庫。這裏有兩個與Python 3兼容的東西;我還沒有嘗試過任何人,但:

+0

非常感謝。我意識到語法已經發生了一些變化。事件打印'字符串'現在不起作用。你會建議將這個錯誤報告給API開發人員嗎?其他twitter API的+1。不知道他們。 – codious 2013-03-11 13:24:56

+1

@codious是的,我會問一個Python 3版本。這是一個或多或少的官方Python 3庫,並且似乎還沒有Python 3版本中的任何(公共)計劃,因此將其引入關注當然聽起來像是一個好主意。 – poke 2013-03-11 13:35:10