Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Pycharm中使用Pycurl_Python_Libcurl_Pycharm_Pycurl - Fatal编程技术网

Python 在Pycharm中使用Pycurl

Python 在Pycharm中使用Pycurl,python,libcurl,pycharm,pycurl,Python,Libcurl,Pycharm,Pycurl,我正在尝试运行一个脚本,该脚本的开头是: 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/pyt

我正在尝试运行一个脚本,该脚本的开头是:

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
回溯(最近一次呼叫最后一次):
文件“/Users/adamg/PycharmProjects/untitled/UrlToText.py”,第1行,在
从pycurl导入*
导入错误:dlopen(/Users/adamg/anaconda/lib/python2.7/site-packages/pycurl.so,2):未加载库:libcurl.4.dylib
引用自:/Users/adamg/anaconda/lib/python2.7/site-packages/pycurl.so
原因:库版本不兼容:pycurl.so需要8.0.0或更高版本,但libcurl.4.dylib提供7.0.0版本

我试图理解这个错误,以及需要做什么来纠正它。我正在使用PyCharm V3.1。

看起来您需要安装一个更新版本的curl。根据您的
/Users/…
路径,您看起来像是在mac上(但您可能应该在问题中明确地包括这一点)。Mac附带了旧版本的curl

我刚刚尝试在Mac OS X 10.9.2上安装
pycurl
,然后打开python shell并

>>> from pycurl import *
这起作用了。我有一个新的安装,而不是升级,Mavericks。如果您升级到Mavericks,这可能就是为什么您有一个旧版本的
libcurl
。如果这在python shell中不起作用,那么很可能您有一个旧版本的libcurl.4.dylib,很可能这与pycharm无关

要获取更新版本,请运行

$ brew install curl
下一部分是一个小技巧,不是“正确”的方法,但我感觉它会起作用,这是尝试让某些东西起作用的最简单的方法

只需复制brew抓取的
libcurl.4.dylib
,并在复制后将其放入
/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,比如
curl www.google.com
。如果它仍然有效,那么curl仍然有效,我们很好


现在再次尝试运行脚本。希望它能找到更新后的
libcurl.4.dylib
,并成功导入。如果仍然无法使用,请尝试卸载并重新安装
pycurl

谢谢。不过,这似乎并没有解决问题。不幸的是,链接的答案也没有帮助。您是否重新启动了正在使用的shell?你也会犯同样的错误吗?我不知道为什么,但有时在安装之后,我甚至不得不重新启动,或者至少注销并重新登录。另外,您使用的是什么版本的OS X?尝试重新启动我的计算机,但仍然出现相同的错误。我正在运行OSX 10.9.2hmm。。。我认为这肯定与pycurl无法找到更新的动态库有关。但是没有更多的信息很难知道。是您自己安装的pycurl,还是随python一起安装的?我还将尝试删除并重新安装pycurl(例如,使用
pip
)。如果pip仍然不起作用,我会尝试遵循这些。我可以提供哪些信息帮助您?我真的很想弄清楚这件事。我认为这与我在哪里安装pycurl以及pycharm在哪里寻找有关。我如何找到它,然后改变它?