我正在嘗試更新最新的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
)
在此先感謝您的幫助。
這爲我安裝,但現在得到錯誤: 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
我的默認python是32位,而opencv是64位。從brew中安裝python並將其替換爲默認值。也有同樣的問題在這裏:http://d.hatena.ne.jp/seinzumtode/20130421/1366513083等待從改變python架構的後果,但我現在可以做「導入cv」Hurragh – PhoebeB