こんにちは。かねしろ@pinkrootです。
何度やっても環境構築はハマりどころ。
今回はmacでpip install時にコケた件の備忘録です。
ハマったのはscrapyのインストール時。
1 2 |
pip install scrapy |
でコケました。
エラー文言としては、まず
1 2 |
fatal error: 'ffi.h' file not found |
1 2 |
fatal error: 'libxml/xmlversion.h' file not found |
などのヘッダファイルが存在しない旨が表示されたうえで
1 2 |
error: command 'gcc' failed with exit status 1 |
の一文で終わっています。
エラーが計3箇所ほどで吐かれていたのですが、すべてのエラーがこの一文で終わっています。
gcc系で問題が発生していることがわかります。
問題解決にまつわる問題
今回はpyenv環境下だったため、まずはpyenvをupgradeしようとしました。
が、
1 2 |
sudo brew update |
を実行すると
1 2 3 |
Error: Failure while executing: git pull -q origin refs/heads/master:refs/remotes/origin/master |
というエラーが。悲しげ。そしてあるある。
ということで、このエラーは下記で回避。
1 2 3 4 |
cd $(brew --prefix) git fetch origin git reset --hard origin/master |
ちなみに、cdで移動するディレクトリはおそらく「/usr/local」になるはずです。
上記コマンド実行後、改めてupdateを行うと無事に成功するはずなので、
1 2 |
sudo brew upgrade scrapy |
でscrapyをupgradeします。
ただ、悲しいことにこれだけでは最初に述べたエラーは解消しませんでした。
gcc問題をxcodeで解消
whichコマンドで確認したところgccは入っているようなのですが、
念のためということで
1 2 |
xcode-select --install |
コマンドでxcodeを立ち上げ、command line toolsのインストールを確認。
恐るべきことに、以前インストールしたはずなのにインストーラーが立ち上がりました。
OSアップデートのタイミングで消えたのか、updateでもあったのか…
おとなしくインストールを行います。
これだけでもエラーは解消する説があるのですが、
command line toolsインストール中にネットで下記コマンドも走らせるべし的記述を見たので平行して実行していました。
なお、下記だけではエラー解消しなかったので、command line tools単体、もしくは下記コマンドとの組み合わせが重要かと。
1 2 3 |
brew install pkg-config libffi export PKG_CONFIG_PATH=/usr/local/Cellar/libffi/3.0.13/lib/pkgconfig/ |
ということで、これで無事にpip installができるようになりました。
おしまい。
コメント
Comments are closed.