我在我的Linux服務器上安裝了libffi
,並且PKG_CONFIG_PATH
環境變量正確設置爲正確的目錄,因爲pip
認識到它已安裝;然而,當試圖安裝pyOpenSSL時,pip指出它找不到文件'ffi.h'。我知道ffi.h
和它的目錄都存在,那麼我該如何去關閉ffi.h
和pip
之間的差距呢?PIP安裝無法找到ffi.h,即使它識別出libffi
回答
您可以使用CFLAGS
(和LDFLAGS
或其他各種編譯器和連接選項)pip
命令前(同上,用於setup.py
):
類似的東西下面應該工作:
CFLAGS=-I/usr/include/libffi/include pip install pyOpenSSL
完美!謝謝,這工作。 – DonutGaz
您還需要安裝開發包。
libffi-dev
在Debian/Ubuntu上,libffi-devel
在Redhat/Centos/Fedora上。
這個答案實際上解決了這個問題! –
請注意,OP聲明「我知道ffi.h和其目錄一樣」,表示已經安裝了開發√ersion(頭文件)。所以這個答案解決了另一個問題。 – Evert
您需要安裝libffi
的開發包。
在基於RPM的系統(Fedora,Redhat,CentOS等)上,程序包名爲libffi-devel
。
不知道Debian/Ubuntu系統,我敢肯定別人會用這個。
pip
包通常不會使用pkg-config
。因此,你應該設置CFLAGS
和LDFLAGS
手動:
CFLAGS=$(pkg-config --cflags libffi) LDFLAGS=$(pkg-config --libs libffi) pip install pyOpenSSL
爲了增加mhawke的回答,根據通常的Debian/Ubuntu的系統是 「-dev」,而不是 「-devel」 爲基於RPM的系統
所以爲Ubuntu的它將apt-get install libffi libffi-dev
RHEL,CentOS的,Fedora的(高達V22)yum install libffi libffi-devel
的Fedora 23+dnf install libffi libffi-devel
OSX/MacOS的(假設自制安裝)brew install libffi
- 1. 錯誤與PIP在Cygwin安裝bcrypt:找不到ffi.h(安裝libffi)
- 2. 在OS X上使用pip安裝bcrypt時出錯:找不到ffi.h(libffi已安裝)
- 3. GLib的編譯錯誤(ffi.h),但libffi安裝
- 4. 無法安裝使用PIP和PIP 3
- 5. python pip無法識別?
- 6. PIP安裝不識別版本
- 7. 無法用pip安裝pycurl
- 8. Centos:無法安裝pip
- 9. pip無法安裝asyncmongo
- 10. 無法安裝pylibmc pip
- 11. Pip無法安裝SciPy
- 12. PIP無法安裝Dryscrape
- 13. 無法安裝,即使QT安裝
- 14. 使用pip安裝模塊,未找到
- 15. 無法使用PIP安裝庫
- 16. 無法安裝的virtualenv使用PIP
- 17. 無法使用pip安裝matplotlib
- 18. 無法使用PIP安裝requirements.txt
- 19. 無法使用pip安裝碳?
- 20. 無法使用pip安裝Scipy
- 21. 無法使用pip安裝Pygame
- 22. ipython無法識別已安裝的PySide?
- 23. 安裝後無法識別mvn Maven 3
- 24. MongoDB無法識別的選項 - 安裝
- 25. 安裝jdk後無法識別javafx 7u9
- 26. pydev無法識別Django安裝
- 27. Ruby on Rails安裝:無法識別config.gem
- 28. 無法識別Silverlight 4.0安裝
- 29. PIP封裝找到與搜索,但不會安裝它
- 30. Heroku的設置 - PIP無法找到/安裝依賴
,如果你這樣做是爲了安裝鬥志,按照這個教程https://clasense4.wordpress.com/2015/ 11/25/how-to-install-scrapy-on-centos-7/ –