2011-05-01 44 views
13

(Bước 1)opencv python OSX

Tôi đang cố gắng để có được OpenCV để chạy từ python trên mac của tôi bằng cách sử dụng MacPorts cài đặt http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port, và cũng cố gắng làm theo The Petite Geek's guide:

sudo port -v install opencv +python26 

Nó chạy trong khoảng 10 phút mà không có lỗi.

(Bước 2)

tôi tải ctypes-opencv source and demo files. Tôi điều hướng đến thư mục src và chạy:

sudo python setup.py install 

tôi thấy như 50 dòng gần như tất cả các hình thức: copying ... -> ..., mà có vẻ tốt với tôi. Không có lỗi ở đây.

(Bước 3)

tôi thêm export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib đến hết ~/.profile tôi.

(Bước 4)

tôi mở một nhà ga mới để kiểm tra cài đặt của tôi. Từ thư mục chính của tôi:

$ python 

Python 2.6.2 (r262:71600, Apr 16 2009, 09:17:39) 
[GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import cv 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named cv 
>>> 

Không hoạt động.


tôi đọc somewhere opencv rằng cài đặt bindings python với phiên bản mặc định của python cho OSX, và tôi có thể chạy một phiên bản không mặc định, nhưng đây không phải là thông tin hữu đối với tôi.

Trả lời

39

Tôi đã gặp khó khăn trong một thời gian với Python trên máy Mac. Đây là cách tôi cuối cùng (và dễ dàng!) Cài đặt nó. Loại bỏ tất cả những thứ Python bạn đã có trên đó rồi. Chúng có thể được đặt tại /Library/Frameworks/Python.Framework và/opt/local/var/macports/software/py26 *

Tải xuống Python đầu tiên với Macports.

sudo port install python27 

Sau đó, đảm bảo hệ thống của bạn đang sử dụng phiên bản này với:

sudo port select --set python python27 

Tiếp theo cài đặt NumPy với:

sudo port install py27-numpy 

Bây giờ cài đặt opencv:

sudo port install opencv +python27 

Bây giờ chỉnh sửa ~/.bash_profile của bạn với:

sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit ~/.bash_profile 

hoặc

open -t ~/.bash_profile 

và thêm dòng:

export PYTHONPATH=/opt/local/var/macports/software/opencv/2.2.0_0+python27/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages:$PYTHONPATH 

hoặc nơi từng phiên bản của tập tin cv.so đang ẩn ....

Bây giờ khởi động lại thiết bị đầu cuối và thử:

%python 
>>>import cv 

Tôi đang sử dụng Netbeans cho opencv và python và nó hoạt động thực sự tốt đẹp. Chúc may mắn.

+0

Cảm ơn bạn! Sau khi làm theo một số bài đăng cài đặt lỗi thời từ internet, đây là bài đăng cuối cùng đã hoạt động! –

+0

Điều này thực sự đã làm các trick! Cảm ơn rất nhiều!! –

+0

Hướng dẫn duy nhất làm việc cho tôi là cái này, Phải nói cảm ơn ion một bình luận quá – maccard

2

Nếu bạn nhận thấy đầu ra dòng đầu tiên khi chạy python, bạn sẽ thấy rằng bạn vẫn đang sử dụng trình thông dịch Python do Apple cung cấp. Thử cài đặt và sử dụng gói python-chọn trong MacPorts và sau đó thử lại hướng dẫn bắt đầu từ bước 2.

Cũng đảm bảo bạn đã làm theo tất cả các bước khi cài đặt MacPorts sao cho/usr/local/bin ở chế độ $ PATH .

0

Một "hack" khác mà tôi tìm thấy trong suốt cuộc đấu tranh bằng CMake (nhưng có thể vấn đề cũng giống với cổng): có vẻ như vị trí mô-đun python đã được nhân đôi trên Mac OS Lion của tôi, vì lý do tôi không thể giải thích.

CMake muốn đưa "cv" mô-đun ở đây:

/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages 

Trong khi thông dịch Python mặc định của tôi đang tìm kiếm ở đây (nhờ PyCharm đã nói cho tôi):

/Library/Python/2.7/site-packages 

Moving cả cv2.so và các tập tin cv.py đến vị trí thứ hai, đã làm cho các trick cho tôi. Tôi không biết đây có phải là cách sạch nhất hay không.

Hy vọng nó có thể giúp một số người đi chơi!

4
$ brew search opencv 
     homebrew/science/opencv 
$ brew install homebrew/science/opencv 

sau khi cài đặt, có cảnh báo:

==> Hãy cẩn thận Nếu bạn cần Python để tìm các cài đặt trang web gói:

mkdir -p ~/Library/Python/2.7/lib/python/site-packages

echo '/usr/local/lib/python2.7/site-packages'> ~/Thư viện/Python/2.7/lib/python/site-packages/homebrew.pth

vì vậy, chỉ do

mkdir -p ~/Library/Python/2.7/lib/python/site-packages 
    echo '/usr/local/lib/python2.7/site-packages' > ~/Library/Python/2.7/lib/python/site-packages/homebrew.pth