シェアする

  • このエントリーをはてなブックマークに追加

macでpip install時にgccエラーが表示される場合

こんにちは。かねしろ@pinkrootです。

何度やっても環境構築はハマりどころ。
今回はmacでpip install時にコケた件の備忘録です。

ハマったのはscrapyのインストール時。

pip install scrapy

でコケました。

エラー文言としては、まず

fatal error: 'ffi.h' file not found  
fatal error: 'libxml/xmlversion.h' file not found

などのヘッダファイルが存在しない旨が表示されたうえで

error: command 'gcc' failed with exit status 1

の一文で終わっています。
エラーが計3箇所ほどで吐かれていたのですが、すべてのエラーがこの一文で終わっています。
gcc系で問題が発生していることがわかります。

問題解決にまつわる問題

今回はpyenv環境下だったため、まずはpyenvをupgradeしようとしました。
が、

sudo brew update

を実行すると

Error: Failure while executing:
git pull -q origin refs/heads/master:refs/remotes/origin/master

というエラーが。悲しげ。そしてあるある。

ということで、このエラーは下記で回避。

cd $(brew --prefix)
git fetch origin
git reset --hard origin/master

ちなみに、cdで移動するディレクトリはおそらく「/usr/local」になるはずです。

上記コマンド実行後、改めてupdateを行うと無事に成功するはずなので、

sudo brew upgrade scrapy

でscrapyをupgradeします。

ただ、悲しいことにこれだけでは最初に述べたエラーは解消しませんでした。

gcc問題をxcodeで解消

whichコマンドで確認したところgccは入っているようなのですが、
念のためということで

xcode-select --install

コマンドでxcodeを立ち上げ、command line toolsのインストールを確認。
恐るべきことに、以前インストールしたはずなのにインストーラーが立ち上がりました。
OSアップデートのタイミングで消えたのか、updateでもあったのか…

おとなしくインストールを行います。

これだけでもエラーは解消する説があるのですが、
command line toolsインストール中にネットで下記コマンドも走らせるべし的記述を見たので平行して実行していました。
なお、下記だけではエラー解消しなかったので、command line tools単体、もしくは下記コマンドとの組み合わせが重要かと。

brew install pkg-config libffi
export PKG_CONFIG_PATH=/usr/local/Cellar/libffi/3.0.13/lib/pkgconfig/

ということで、これで無事にpip installができるようになりました。

おしまい。

スポンサードリンク

AdSense

AdSense

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です