2014-01-22 29 views
2

我正在嘗試更新最新的opencv formula(截至此書,此公式安裝opencv 2.4.7)以構建最新版本的opencv(2.4.8)。升級OpenCV brew公式:Python加載不正確

我做的第一件事是brew edit opencv,並將URL更改爲'https://github.com/Itseez/opencv/archive/2.4.8.tar.gz'並更新校驗和。我預料到我可能不得不處理一些建立的問題,但我看到的問題似乎在公式運行時發生。

具體而言,當我運行brew upgrade opencv(或取消關聯和運行brew install opencv)時,得到以下信息:

==> Downloading https://github.com/Itseez/opencv/archive/2.4.8.tar.gz 
Already downloaded: /Library/Caches/Homebrew/opencv-2.4.8.tar.gz 
==> Patching 
patching file cmake/OpenCVFindOpenNI.cmake 
Warning: Formula#python is deprecated and will go away shortly. 
Error: undefined method `incdir' for #<PythonDependency: "python" []> 
Please report this bug: 
https://github.com/Homebrew/homebrew/wiki/troubleshooting 
/usr/local/Library/Formula/opencv.rb:49:in `install' 
/usr/local/Library/Homebrew/build.rb:165:in `install' 
/usr/local/Library/Homebrew/formula.rb:272:in `brew' 
/usr/local/Library/Homebrew/formula.rb:617:in `stage' 
/usr/local/Library/Homebrew/resource.rb:63:in `unpack' 
/usr/local/Library/Homebrew/extend/fileutils.rb:21:in `mktemp' 
/usr/local/Library/Homebrew/resource.rb:60:in `unpack' 
/usr/local/Library/Homebrew/resource.rb:53:in `stage' 
/usr/local/Library/Homebrew/formula.rb:615:in `stage' 
/usr/local/Library/Homebrew/formula.rb:267:in `brew' 
/usr/local/Library/Homebrew/build.rb:144:in `install' 
/usr/local/Library/Homebrew/build.rb:45:in `main' 
/usr/local/Library/Homebrew/build.rb:12 
/usr/local/Library/Formula/opencv.rb:80 

的Python似乎沒有得到加載。我也對貶值警告感到困惑。我發現的一切都表明python公式是我應該使用的公式。通過這個link來判斷depends_on :python的依賴關係似乎應該起作用(當我嘗試使用先前的2.4.7.1公式時,它顯然是這樣做的)。

僅供參考,這裏是我的環境變量:

Apple_PubSub_Socket_Render=/tmp/launch-Ygtqzn/Render 
CMD_DURATION=20.7s 
COMMAND_MODE=unix2003 
DISPLAY=/tmp/launch-a4CGwS/org.x:0 
GEM_HOME=/Users/myname/.rvm/gems/ruby-1.9.3-p194 
GEM_PATH=/Users/myname/.rvm/gems/ruby-1.9.3-p194:/Users/myname/.rvm/gems/[email protected] 
GREP_COLOR=97;45 
GREP_OPTIONS=--color=auto 
HOME=/Users/myname 
LANG=en_CA.UTF-8 
LOGNAME=myname 
PATH=/usr/local/bin:/Users/myname/.rvm/gems/ruby-1.9.3-p194/bin:/Users/myname/.rvm/gems/[email protected]/bin:/Users/myname/.rvm/rubies/ruby-1.9.3-p194/bin:/Users/myname/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin:/Users/myname/.rvm/bin:/usr/local/heroku/bin 
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/usr/X11/lib/pkgconfig 
PWD=/Users/myname/projects/forks/ruby-opencv 
SHELL=/usr/local/bin/fish 
SHLVL=1 
SSH_AUTH_SOCK=/tmp/launch-lvn79S/Listeners 
TERM=xterm-color 
TERM_PROGRAM=Apple_Terminal 
TERM_PROGRAM_VERSION=273.1 
TMPDIR=/var/folders/pv/pvvR8qgvGOCfd5dza+ZbVU+++TI/-Tmp-/ 
USER=myname 
__CF_USER_TEXT_ENCODING=0x1F5:0:0 
__fish_bin_dir=/usr/local/Cellar/fish/2.0.0/bin 
__fish_datadir=/usr/local/Cellar/fish/2.0.0/share/fish 
__fish_help_dir=/usr/local/Cellar/fish/2.0.0/share/doc/fish 
__fish_sysconfdir=/usr/local/Cellar/fish/2.0.0/etc/fish 
rvm_bin_path=/Users/myname/.rvm/bin 
rvm_path=/Users/myname/.rvm 
rvm_prefix=/Users/myname 
rvm_version=1.25.3:master 

和Python(家釀)版本 python --version #=>Python 2.7.6

brew doctor輸出給了我一個關於乘客的配置文件警告(這不應該影響建立opencv)和警告opencv是未鏈接的(我斷開它試運行brew install opencv

在此先感謝您的幫助。

回答

1

我工作圍繞這一問題通過回滾到以前的自制版本解決了這個錯誤,然後安裝opencv,然後回到當前版本。

看到這個要點進行詳細說明:https://gist.github.com/frederikhermans/8561382

+0

這爲我安裝,但現在得到錯誤: Python 2.7.2(默認,2012年10月11日,20:14:37) [GCC 4.2.1兼容Apple Clang 4.0(tags/Apple/clang-418.0.60)]在達爾文 輸入「幫助」,「版權」,「信用」或「許可證」。 >>>進口品種 回溯(最近通話最後一個): 文件 「」,1號線,在 文件 「/usr/local/lib/python2.7/site-packages/cv.py」,行1,來自cv2的 。cv import * ImportError:dlopen(/usr/local/lib/python2.7/site-packages/cv2.so,2):找不到合適的圖像。發現: \t /usr/local/lib/python2.7/site-packages/cv2.so:mach-o,但是錯誤的架構 – PhoebeB

+0

我的默認python是32位,而opencv是64位。從brew中安裝python並將其替換爲默認值。也有同樣的問題在這裏:http://d.hatena.ne.jp/seinzumtode/20130421/1366513083等待從改變python架構的後果,但我現在可以做「導入cv」Hurragh – PhoebeB

2

我有同樣的錯誤。我不明白爲什麼在公式文件中沒有正確定義「incdir」或其他變量。但我通過編輯OpenCV的公式文件如下,(直接設置每路)​​

(約50行)

DPYTHON_INCLUDE_DIR=/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/include/python2.7

DPYTHON_LIBRARY=/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib

DPYTHON_EXECUTABLE=/usr/local/bin/python

+0

爲我工作,如果你使用標準的蘋果Python版本的路徑如下(OS X 10.9.1): DPYTHON_INCLUDE_DIR ='/系統/庫/框架/ Python.framework/Versions/2.7/include/python2.7 /' DPYTHON_LIBRARY ='/ System/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib' DPYTHON_EXECUTABLE ='/ usr/bin/python' – Robin

+0

這是一個瘋狂的問題。感謝您的解決方案,它爲我工作! – superiggy