无法在OS X上安装或使用scrapy - 被代理阻止(我认为)

时间:2015-04-09 17:48:47

标签: scrapy pip

所以我真的很难过,应该很容易。在工作中我们有很多讨厌的代理等等。我很确定这里涉及到了。无论如何,当我尝试安装scrapy时,我得到#34;连接由同行重置"在下载libxml的过程中,总是占37%:

root@rcmac (~ ): pip install scrapy
Requirement already satisfied (use --upgrade to upgrade): scrapy in /Library/Python/2.7/site-packages/Scrapy-0.24.5-py2.7.egg
Requirement already satisfied (use --upgrade to upgrade): Twisted>=10.0.0 in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from scrapy)
Requirement already satisfied (use --upgrade to upgrade): w3lib>=1.8.0 in /Library/Python/2.7/site-packages (from scrapy)
Collecting queuelib (from scrapy)
  Using cached queuelib-1.2.2-py2.py3-none-any.whl
Collecting lxml (from scrapy)
/Library/Python/2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:79: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
  Downloading lxml-3.4.2.tar.gz (3.5MB)
    37% |############                    | 1.3MB 186kB/s eta 0:00:12  Exception:
  Traceback (most recent call last):
    File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 246, in main
      status = self.run(options, args)
    File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 342, in run
      requirement_set.prepare_files(finder)
    File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 345, in prepare_files
      functools.partial(self._prepare_file, finder))
    File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 290, in _walk_req_to_install
      more_reqs = handler(req_to_install)
    File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 487, in _prepare_file
      download_dir, do_download, session=self.session,
    File "/Library/Python/2.7/site-packages/pip/download.py", line 827, in unpack_url
      session,
    File "/Library/Python/2.7/site-packages/pip/download.py", line 673, in unpack_http_url
      from_path, content_type = _download_http_url(link, session, temp_dir)
    File "/Library/Python/2.7/site-packages/pip/download.py", line 888, in _download_http_url
      _download_url(resp, link, content_file)
    File "/Library/Python/2.7/site-packages/pip/download.py", line 621, in _download_url
      for chunk in progress_indicator(resp_read(4096), 4096):
    File "/Library/Python/2.7/site-packages/pip/utils/ui.py", line 133, in iter
      for x in it:
    File "/Library/Python/2.7/site-packages/pip/download.py", line 586, in resp_read
      decode_content=False):
    File "/Library/Python/2.7/site-packages/pip/_vendor/requests/packages/urllib3/response.py", line 273, in stream
      data = self.read(amt=amt, decode_content=decode_content)
    File "/Library/Python/2.7/site-packages/pip/_vendor/requests/packages/urllib3/response.py", line 203, in read
      data = self._fp.read(amt)
    File "/Library/Python/2.7/site-packages/pip/_vendor/cachecontrol/filewrapper.py", line 49, in read
      data = self.__fp.read(amt)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 567, in read
      s = self.fp.read(amt)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 380, in read
      data = self._sock.recv(left)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 241, in recv
      return self.read(buflen)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 160, in read
      return self._sslobj.read(len)
  error: [Errno 54] Connection reset by peer

我可以抓住libxml tarball,但我不知道如何通过这个障碍。我以某种方式设法安装scrapy但是当我尝试导入它时它会爆炸:

root@rcmac (~ ): python
Python 2.7.5 (default, Mar  9 2014, 22:15:05) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import scrapy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/Scrapy-0.24.5-py2.7.egg/scrapy/__init__.py", line 56, in <module>
    from scrapy.spider import Spider
  File "/Library/Python/2.7/site-packages/Scrapy-0.24.5-py2.7.egg/scrapy/spider.py", line 7, in <module>
    from scrapy.http import Request
  File "/Library/Python/2.7/site-packages/Scrapy-0.24.5-py2.7.egg/scrapy/http/__init__.py", line 11, in <module>
    from scrapy.http.request.form import FormRequest
  File "/Library/Python/2.7/site-packages/Scrapy-0.24.5-py2.7.egg/scrapy/http/request/form.py", line 9, in <module>
    import lxml.html
ImportError: No module named lxml.html

所以,让我们看看:我想我的问题是,&#34;帮助?&#34; :-) 谢谢。

1 个答案:

答案 0 :(得分:0)

好的,再次解决。抱歉。看起来这里的代理服务器正在阻止我从pip安装lxml。我重新为scrapy安装了pip install命令,并在那时正确安装了lxml。在那之后,错误就消失了。