2016-06-14 18 views
3

を私はPythonのインターフェイスでカールインポートするとき、それはエラーが表示さよりも古いですMAC OSはImportError:pycurl:libcurlのリンク時のバージョン(7.37.1)は、コンパイル時のバージョン(7.43.0)

ImportError: pycurl: libcurl link-time version (7.37.1) is older than compile-time version (7.43.0). 

どのようにそれを解決するには?私のシステムはヨセミテです。

+0

'python'やサードパーティ版のシステム版を開いていますか? '$ PYTHONPATH'は何に設定されていますか? – Droppy

+0

私はpyenvを使って私のpython、システムバージョンpython 2.7と第三者のpython 3.5を管理しています。 –

+0

2日後、私は何もせずにうまくやっています...混乱しています... –

答えて

1

Google検索でこの回答が引き続き表示されるので、この問題を解決するための回避策をお知らせします。あなたのlibcurlopenssl

brew install curl 
brew link curl --force 
brew install openssl 
export LIBRARY_PATH=/usr/local/opt/openssl/lib 
export CPATH=/usr/local/opt/openssl/include 
pip --no-cache-dir install pycurl 
python -c "import pycurl" 
に対してリンクですから、後でpycurlを使用することができます

$ curl --version 
curl 7.52.1 (x86_64-apple-darwin16.1.0) libcurl/7.52.1 OpenSSL/1.0.2j zlib/1.2.8 nghttp2/1.18.1 

、:

最新のカールを得るためにリンクカール力の醸造バージョンをインストールするには、メインのアイデアを

希望に役立ちます!

+1

この解決策はMacOSX 10.11.6では動作しません。 OSに同梱のCURLはSecureTransportを使用します。 OpenSSLで構築されていません。 https://daniel.haxx.se/blog/tag/securetransport/ – MickaelT

3

シエラでこのエラーが発生しました。このissueのseeliuhの投稿のおかげで、私はそれをやった後に修正しました:

1. pycurlをアンインストールします。

pip uninstall pycurl 

2.exportのLD_LIBRARY_PATH = <<your homebrew's libcurl path>>

export LD_LIBRARY_PATH=/usr/local/opt/curl/lib 

export LIBRARY_PATH=/usr/local/opt/curl/lib 

3.reinstallのpycurl

easy_install pycurl # you also can try to use pip though using it here probably would cause some problems 

注:そのうち

PycURL documentation

点:

If libcurl is linked dynamically with pycurl, you may have to alter the LD_LIBRARY_PATH environment variable accordingly. This normally applies only if there is more than one version of libcurl installed, e.g. one in /usr/lib and one in /usr/local/lib.

したがって、LD_LIBRARY_PATHを自作のlibcurlパスに変更する必要があります。 (自作のlibcurlのバージョンはコンパイル時のバージョンよりも大きいと思われますので、それを確認してください)

+1

これは私のために解決していませんでした。 – Nate

関連する問題