概要
macOS 上に paramiko をインストールしようとしたらタイトルのエラーに遭遇しました 対応方法を紹介します
環境
- macOS 11.4
- Python 3.8.3
- paramiko 2.7.2
原因
どうやら全然関係ないところでエラーになっているようです paramiko は cryptography というライブラリに依存しているのですがそのライブラリがデフォルトで Rust のコンパイラを使っています
Rust のコンパイラがすでにインストールされていれば問題なくインストールできるかもしれないのですがインストールされていない場合は今回のエラーに遭遇するようです
エラー文の途中を見ると「error: can’t find Rust compiler」という文が表示されているのが確認できると思います
対策1: cryptography だけインストールしてみる
Rust コンパイラを使わないでビルドする方法もあるようです 以下の環境変数をセットして cryptography だけインストールできるか確認してみましょう
- export CRYPTOGRAPHY_DONT_BUILD_RUST=1
- pipenv install cryptography
対策2: openssl のビルドオプションを追加する
openssl も使っているので以下のように openssl のヘッダファイルなどのパスも指定してあげます
環境によってことなるので brew info openssl
で確認しましょう
- export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
- export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"
- export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig"
再度 paramiko をインストールする
上記が成功したら再度 paramiko をインストールしてみましょう
- pipenv install paramiko
0 件のコメント:
コメントを投稿