質問: pythonでscrapy をインストールしようとしたときに下のようなエラーが出ました。 当然ですが、エラーが長すぎて全文コピペしても原因は分かりません。 ``` Command "c:\users\user\appdata\local\programs\python\python36-32\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\user\\AppData\\Local\\Temp\\pip-build-w37t4n88\\Twisted\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\user\AppData\Local\Temp\pip-fg430x_0-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\user\AppData\Local\Temp\pip-build-w37t4n88\Twisted\ ``` 1このエラーはどういう意味でしょうか? 2このような馬鹿みたいに長いエラーが出た場合、どうやって対処すればよいでしょうか?
回答: 原因はWindows環境でTwistedをコンパイル出来ていないことです。 ``` --compile" failed with error code 1 in C:\Users\user\AppData\Local\Temp\pip-build-w37t4n88\Twisted\ ``` https://pypi.python.org/pypi/Twisted を見ると、 `Twisted-17.9.0-cp27-cp27m-win32.whl` と `Twisted-17.9.0-cp27-cp27m-win_amd64.whl` というファイルがWindowsのビルド済みパッケージだというのが分かるのですが、cp27(CPython 2.7)の32bit版と64bit版しか提供されていないようです。 ### Anacondaを使う対処方 Python3.5や3.6を使っていてこの問題が出ているのだとしたら対処方法として一番簡単なのはAnaconda社(旧continuum社)が提供するAnacondaを使う方法です。Anacondaは科学技術計算向けによく使われるビルド済みバイナリパッケージを提供しています。(個人的にこれをオススメしづらいのは、公式のPythonではないPythonをインストールしなければいけない点と、Anaconda独自の環境構築を知らないといけないことです)。 ### もう1つの対処方 Anacondaを使わない場合、以下のサイトからtwistedをダウンロードしてインストールする方法があります。 このサイトは古くから「Windows向けのビルド済みバイナリを勝手に作って提供してくれている」サイトで、多くのWindowsユーザーが助けられています。(Anacondaも、このバイナリも、第三者がビルドして提供しているパッケージという意味では同じです) 手順は以下の通りです。 1. 使っているPythonのバージョンに合っているファイルをダウンロードする(例: Twisted‐17.9.0‐cp36‐cp36m‐win_amd64.whl は Python3.6の64bit版) 2. ダウンロードしたファイルをpip installsする(例: `pip install ./Twisted‐17.9.0‐cp36‐cp36m‐win_amd64.whl` ) 3. `pip install scrapy` を行う もし他にも同様のエラー(compileがfailedになる)がでたら、同様の手順でインストールすればよいでしょう。