2014-04-15 40 views
3

我試圖運行開始腳本中使用Pycurl:在Pycharm

from pycurl import * 

然而,這引發錯誤:

Traceback (most recent call last): 
    File "/Users/adamg/PycharmProjects/untitled/UrlToText.py", line 1, in <module> 
    from pycurl import * 
ImportError: dlopen(/Users/adamg/anaconda/lib/python2.7/site-packages/pycurl.so, 2): Library not loaded: libcurl.4.dylib 
    Referenced from: /Users/adamg/anaconda/lib/python2.7/site-packages/pycurl.so 
    Reason: Incompatible library version: pycurl.so requires version 8.0.0 or later, but libcurl.4.dylib provides version 7.0.0 

我想了解這個錯誤,並準確需要做些什麼來糾正它。我正在使用PyCharm v 3.1。

回答

3

看起來您需要安裝curl的更新版本。基於你的/Users/...路徑,它看起來像你在mac上(但你應該在問題中明確地包含它)。 Mac上裝有舊版捲曲。

我只是想在Mac OS X 10.9.2安裝pycurl,然後打開一個python殼和

>>> from pycurl import * 

而且這個工作。我有一個新的安裝,而不是升級,小牛隊。如果你升級到小牛隊,這可能是你爲什麼擁有老版本libcurl。如果這在python shell中不起作用,那麼很可能是libcurl.4.dylib的舊版本,很可能這與pycharm無關。

以獲得更新的版本上運行

$ brew install curl 

接下來的部分是一個黑客位,而不是「正確」的方式做到這一點,但我有一種感覺,將工作,這就是最簡單的方法來嘗試工作。

只需複製libcurl.4.dylib是BREW已經抓住,並把它放在/usr/lib使得它的一個副本,所以你可以把它放回去,如果這不起作用後:

$ sudo cp /usr/lib/libcurl.4.dylib /usr/lib/libcurl.4.dylib.bk 
$ sudo cp /usr/local/opt/curl/lib/libcurl.4.dylib /usr/lib/libcurl.4.dylib 

嘗試在命令行中運行卷曲,像curl www.google.com愚蠢的東西。如果它仍然有效,那麼捲曲仍然有效,而且我們很好。

現在嘗試再次運行腳本。希望它找到更新的libcurl.4.dylib併成功導入。如果仍然不起作用,請嘗試卸載並重新安裝pycurl

+0

謝謝。但這似乎並未解決問題。不幸的是,鏈接的答案也沒有幫助。 –

+0

您是否重新啓動了您正在使用的外殼?你有同樣的錯誤嗎?我不知道爲什麼,但有時在安裝後,我甚至不得不重新啓動,或者至少註銷並重新登錄。此外,您還在使用哪個版本的OS X? –

+0

嘗試重新啓動我的機器,但仍然是相同的錯誤。我正在運行OSX 10.9.2 –