2009-12-22 25 views
1

我是新來的Mac(對Django來說很新),我設置了一個現有的Django/MySQL網站,在新的Macbook Pro上使用Mercurial作爲網站包。Mac/Django錯誤消息:「/mercurial/osutil.so:沒有適當的64位體系結構」

安裝過程中一切正常 - 沒有錯誤信息。我從macports安裝了大多數軟件包的默認版本。

然而,當我嘗試的runserver,本地主機顯示以下錯誤消息:

ImportError at/
.../lib/python2.6/site-packages/mercurial/osutil.so: no appropriate 64-bit architecture (see "man python" for running in 32-bit mode) 

請任何人都可以提出建議?我試過在終端輸入以下內容:

defaults write com.apple.versioner.python Prefer-32-Bit -bool yes 

但它沒有幫助。

+0

你確定你安裝了正確的Python和/或Mercurial體系結構嗎?當你打開一個終端並輸入「python」時會發生什麼? Mercurial有兩個OS X軟件包,你是否下載了相應的軟件包? (蘋果菜單 - >關於這個mac) – gmoore 2009-12-22 17:56:59

+0

你是否從Macports安裝了另一個版本的Python,或者這是默認設置? – 2009-12-22 18:12:19

+0

我用macports默認安裝了mercurial - 事實證明不,它不能正常運行。當我在命令行嘗試「hg version」時,出現相同的「沒有適當的64位體系結構」。 Python運行正常 - 雖然它的版本是2.6.1,而不是最新的2.6.4,出於某種原因。 奇怪的是,所有這些都是在virtualenv中運行的。當我離開virtualenv時,mercurial運行正常,python版本是2.6.4。 – Richard 2009-12-23 16:11:25

回答

2

如果我的評論中的所有內容都檢查完畢,請嘗試在用戶環境變量中設置Prefer-32位而不是在命令行中。

編輯這個文件:〜/ .MacOSX/environment.plist

參見:

http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/EnvironmentVars.html#//apple_ref/doc/uid/20002093-113982

+0

解決了這個問題 - 謝謝。雖然我現在有另一個錯誤信息。但是,取得進展還是很不錯的:) – Richard 2009-12-24 23:07:34

+0

好吧,寄出去!如果可以的話,我會幫忙的。 – gmoore 2009-12-26 21:24:18

3

我已經得到了類似的錯誤和兩件事情結合幫我安裝水銀的OS X獅子。我正在運行OS X 10.7.3。

首先,setup.py腳本的第455行有一個錯誤(至少對於我試過的Mercurial 2.2.1版本)。該生產線

version = runcmd(['/usr/bin/xcodebuild', '-version'], {})[0].splitlines()

version = runcmd(['/usr/bin/xcodebuild', '-version'], {})[0]

二來代替,我安裝水銀後(通過easy_install的,Mac OS X的二進制安裝和編譯),我一直得到以下錯誤消息:

ImportError: dlopen(/Library/Python/2.7/site-packages/mercurial/osutil.so, 2): no suitable image found. Did find: /Library/Python/2.7/site-packages/mercurial/osutil.so: mach-o, but wrong architecture

但是,看到這個帖子後,我注意到,

defaults read com.apple.versioner.python Prefer-32-Bit

在我的系統上輸出1。然而,運行這個命令

defaults write com.apple.versioner.python Prefer-32-Bit -bool no

然後重新編譯/安裝mercurial導致一個工作可執行文件爲我在最後。

相關問題