我试图在Mac OS X EI上使用scrape,并且我已成功安装scrapy使用
pip install scrapy
在终端。 在那之后,当我尝试进口scrapy"时,我遇到了上述问题。在Pycharm:
Traceback (most recent call last):
File "/Users/ziyuan/PycharmProjects/untitled/en.py", line 1, in <module>
import scrape
File "/Library/Python/2.7/site-packages/scrapy/__init__.py", line 48, in <module>
from scrapy.spiders import Spider
File "/Library/Python/2.7/site-packages/scrapy/spiders/__init__.py", line 10, in <module>
from scrapy.http import Request
File "/Library/Python/2.7/site-packages/scrapy/http/__init__.py", line 12, in <module>
from scrapy.http.request.rpc import XmlRpcRequest
File "/Library/Python/2.7/site-packages/scrapy/http/request/rpc.py", line 7, in <module>
from six.moves import xmlrpc_client as xmlrpclib
ImportError: cannot import name xmlrpc_client
我已尝试过Scrapy throws ImportError: cannot import name xmlrpc_client
的所有内容具体来说,当我尝试最高投票的解决方案时,第二行
sudo rm -rf/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six*
又引发了另一个问题:
rm: /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info: Operation not permitted
rm: /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six.py: Operation not permitted
rm: /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six.pyc: Operation not permitted
我现在该怎么办?我已经在谷歌搜索了很长时间了,我现在真的不知道。
答案 0 :(得分:1)
处理此问题的另一种方法,而不是您提到的最高投票解决方案,是使用other Python
(不是系统问题)和virtualenv
。
但为什么new Python
?问题Here's an good article。原因很容易找到。
为什么virtualenv
?您可以获得here点数表格。
此外,使用$ sudo pip (...)
可能不是一个好主意。请查看this。
让我们来看看Scrapy的贡献者之一recommended way吧!看看Mac OS X部分:使用Homebrew安装新的Python,更新你的路径变量,等等。虽然她说使用virtualenv
是可选的,但我在使用Scrapy时只能将ImportError: blahblah..
放在我自己的虚拟环境中。
答案 1 :(得分:1)
在尝试了几个解决方案并尝试解决六个1.4.1版本之后,我发现这很有效:
sudo easy_install --upgrade six
答案 2 :(得分:0)
Operation not permited
表示您无权删除此内容。请尝试sudo rm
将其删除为超级用户。
虽然理想情况下你不应该在你的python中rm
做任何事情,但试试pip uninstall six
。不过,您仍然需要six
,因此您可以尝试通过pip install six --upgrade
进行升级。
请注意,您可能必须使用pip2
而不是pip
,因为某些系统会对其进行不同的标记。