Linuxサーバーにlibffi
をインストールし、pip
がインストールされていることを認識するため、PKG_CONFIG_PATH
環境変数を正しいディレクトリに正しく設定しました。ただし、pyOpenSSLをインストールしようとすると、pipはファイル 'ffi.h'を見つけることができないと述べています。 thatffi.h
とそのディレクトリの両方を知っているので、ffi.h
とpip
の間のこのギャップを埋めるにはどうすればよいですか?
CFLAGS
(およびLDFLAGS
またはその他のさまざまなコンパイラーとリンカーのオプション)をpip
コマンド(setup.py
の同上)の前で使用できます。
次のようなものが機能するはずです。
CFLAGS=-I/usr/include/libffi/include pip install pyOpenSSL
開発パッケージもインストールする必要があります。
libffi-dev
Debian/Ubuntuで、libffi-devel
Redhat/Centos/Fedoraで。
Mhawkeの答えに追加するために、Debian/Ubuntuベースのシステムは通常、RPMベースのシステムでは「-devel」ではなく「-dev」です。
したがって、buntの場合はapt-get install libffi libffi-dev
になります
RHEL、CentOS、Fedora(v22まで)yum install libffi libffi-devel
Fedora 23 +dnf install libffi libffi-devel
OSX/MacOS(homebrewがインストールされていると仮定)brew install libffi
Debianでは、
apt-get install libffi-dev
pip
パッケージは通常pkg-config
を使用しません。したがって、CFLAGS
およびLDFLAGS
を手動で設定する必要があります。
CFLAGS=$(pkg-config --cflags libffi) LDFLAGS=$(pkg-config --libs libffi) pip install pyOpenSSL
centOSの場合:
yum install libffi-devel
Ubuntu/Mint
Sudo apt-get install libffi6 libffi-dev
libffi
の開発パッケージをインストールする必要があります。
RPMベースのシステム(Fedora、Redhat、CentOSなど)では、パッケージの名前はlibffi-devel
です。
Debian/Ubuntuシステムについてはわかりませんが、他の誰かがそれをパイプするでしょう。