2016-03-03 40 views
12

tôi đang cố gắng để có được opencv 3.1 cài đặt cho Python trên của tôi Mac OS X 10.10.5 Tôi làm theo các bước như đã nêu ở đây - http://www.pyimagesearch.com/2015/06/15/install-opencv-3-0-and-python-2-7-on-osx/lỗi nghiêm trọng: file 'Python.h' không tìm thấy trong khi cài đặt opencv

Khi tôi thực sự cố gắng cài đặt opencv sau khi tất cả các thiết lập, tôi nhận được lỗi sau:

.../opencv/modules/python/src2/cv2.cpp:6:10: fatal error: 
    'Python.h' file not found 
#include <Python.h> 
     ^

tôi nhìn quanh StackOverflow và thấy rằng hầu hết mọi người phải đối mặt với vấn đề này đang sử dụng Anaconda, mà không phải là trường hợp của tôi. Nó sẽ là tuyệt vời nếu ai đó có thể chỉ cho tôi đi đúng hướng để có được điều này cố định.

Cảm ơn,

+2

Tìm cách cài đặt 'python-dev' trên OSX. –

+0

Đã làm tất cả - Dòng lệnh XCode, Brew, python, virtualenv. Cũng đặt PATH trong bash_profile. Tui bỏ lỡ điều gì vậy? – Sumanth

+0

Bạn cần đặt C_INCLUDE_PATH thử điều này -> https://stackoverflow.com/a/47956013/4502723 –

Trả lời

10

Tôi đang sử dụng El Capitan nhưng tôi không nghĩ rằng cần có nhiều khác biệt trong đường dẫn đến tiêu đề Python. Tôi tìm thấy tôi tại địa chỉ:

/System/Library/Frameworks/Python.framework/Headers/Python.h 

Bạn có thể thử và chạy:

export C_INCLUDE_PATH=/System/Library/Frameworks/Python.framework/Headers 

sau đó thử các bước còn lại.

1

Trước tiên, bạn phải kiểm tra và đảm bảo rằng bạn đã cài đặt python bằng cách sử dụng brew và bạn đang sử dụng hệ thống python lib binary. Điều đó đã được đề cập trong blog.

Thứ hai, phiên bản python trong lệnh cmake phải khớp với những gì mà trình cài đặt đã cài đặt cho bạn. Bạn nên kiểm tra lại điều đó.

1

Có, sửa đổi đường dẫn được sử dụng trong lệnh cmake. Chúng phải tồn tại trong hệ thống tập tin của bạn. Trong trường hợp của tôi, tôi đã cài đặt python 3.5 và tài liệu gốc sử dụng python 3.4.

10

Nếu Python.h không được tìm thấy trong khi làm cho một trong những tập tin * .cpp, đặt biến ENV sau

export CPLUS_INCLUDE_PATH=/System/Library/Frameworks/Python.framework/Headers 

Vui lòng kiểm tra sự tồn tại của con đường trong hệ thống của bạn và chắc chắn rằng Python.h lanhung.

+0

Việc này đã giải quyết được vấn đề của tôi. – pyan

2

Tôi đã gặp sự cố tương tự trên OSX, được khắc phục bằng cách đặt biến môi trường CPLUS_INCLUDE_PATH. Cũng được xây dựng trong một môi trường anaconda mà có thể có những điều phức tạp.

export CPLUS_INCLUDE_PATH=~/anaconda/envs/py27/include/python2.7 

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=~/anaconda/envs/py27/share \ 
    -D PYTHON2_PACKAGES_PATH=~/anaconda/envs/py27/lib/python2.7/site-packages \ 
    -D PYTHON2_LIBRARY=~/anaconda/envs/py27/bin/python \ 
    -D PYTHON_EXECUTABLE=~/anaconda/envs/py27/bin/python \ 
    -D PYTHON2_INCLUDE_DIR=~/anaconda/envs/py27/include/python2.7 \ 
    -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON \ 
    -D BUILD_EXAMPLES=ON \ 
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules .. 
0

Cách tiếp cận của tôi là khác nhau, nhưng về cơ bản những gì Jonathan Lau đã đề cập.

Tôi đã sử dụng pyenv và conda và thay đổi đường dẫn lib python của tôi đã gây ra sự cố. Để giải quyết nó, đây là những gì tôi đã làm

  1. nhận xét ra PATH thiết lập cho pyenv trong .bashrc
  2. terminal Restart và brew cài đặt bất cứ điều gì bạn cần (vim trong trường hợp của tôi)
  3. Thay đổi.bashrc lại
4

Run

brew install python 

hoặc

brew upgrade python 

sau khi làm điều này, tất cả mọi thứ (vim trong trường hợp của tôi) bạn muốn cài đặt sẽ thành công.

Các vấn đề liên quan