Scrapyをpip経由でインストールし、Python 2.7.10
:
scrapy
Traceback (most recent call last):
File "/usr/local/bin/scrapy", line 7, in <module>
from scrapy.cmdline import execute
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
しかし、私はモジュールをインポートできます:
Python 2.7.10 (default, Jun 10 2015, 19:42:47)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import scrapy
>>>
どうしたの?
OS Xでこの問題を修正しました。
最初にファイルをバックアップしてください。
Sudo rm -rf /Library/Python/2.7/site-packages/six*
Sudo rm -rf /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six*
Sudo pip install six
Scrapy 1.0.0の準備が整いました。
エラーが発生した場合rm: /System/Library/... Operation not permitted
無効にしてみてください システム整合性保護
を参照 ルートEl Capitanでの操作は許可されない(ルートレスが無効)
これはMac OSX for Scrapyの既知の問題です。 このリンク を参照できます。
基本的に、問題はシステムのPYTHONPATHにあります。この問題を解決するには、現在のPYTHONPATHを変更して、新しいMac OSXバージョンまたはPythonのないMac OSXバージョンを指すようにします。 Scrapyを実行する前に、次を試してください。
export PYTHONPATH=/Library/Python/2.7/site-packages:$PYTHONPATH
それがうまくいけば、.bashrcファイルを永続的に変更できます:
echo "export PYTHONPATH=/Library/Python/2.7/site-packages:$PYTHONPATH" >> ~/.bashrc
これでうまくいかない場合は、上記のリンクをご覧ください。
Scrapy 1.0にアップグレードするときにも同じ問題がありました。数多くの回避策の後、私のために働いたソリューションは、pipで6つをアンインストールしていました:
Sudo pip uninstall 6
その後、easy_installを使用して6つを再インストールします
easy_install 6
それがうまくいくことを願っています!
Scrapyをダウングレードするよりも、バージョン6をアップグレードする方が良いでしょう。
pip install --upgrade six scrapy
これにより、Scrapy 1.0のすべてのグッズを使用できます;)
私は同じ問題を抱えていました。これを試して:
Sudo pipアンインストールスクレイピー
Sudo pip install scrapy == 0.24.2
その後、それを試してみてください
OS Xでの最適なソリューションは「システムpythonを使用しない」ことだと思います。生活が楽になります。 このリンク は、これを行う方法を示しています。
Pipがシステムパッケージを更新できないという既知の問題があります。 Scrapyとその依存関係を正常にインストールするには、これに対処する必要があります。提案された解決策は次のとおりです。
(推奨)システムpythonを使用せず、システムの他の部分と競合しない新しい更新バージョンをインストールします。 homebrewパッケージマネージャーを使用して行う方法は次のとおりです。
- http://brew.sh/ の指示に従ってhomebrewをインストールします
- PATH変数を更新して、システムパッケージの前にhomebrewパッケージを使用するように指定します(デフォルトのシェルとしてzshを使用している場合は、.bashrcを.zshrcに適宜変更します)。
echo "export PATH =/usr/local/bin:/ usr/local/sbin:$ PATH" >>〜/ .bashrc
- .bashrcをリロードして、変更が行われたことを確認します。
ソース〜/ .bashrc
- Pythonをインストールします。
pythonを作成する
- pythonの最新バージョンにはpipがバンドルされているため、個別にインストールする必要はありません。そうでない場合は、pythonをアップグレードします。
brew update;醸造アップグレードPython