代码之家  ›  专栏  ›  技术社区  ›  Richard

mac/django错误消息:“/mercurial/osutil.so:没有适当的64位体系结构”

  •  1
  • Richard  · 技术社区  · 15 年前

    我对Macs不熟悉(对Django也不熟悉),我正在新MacBook Pro上建立一个现有的Django/MySQL站点,它使用Mercurial作为一个站点包。

    安装期间一切正常-没有错误消息。我安装了大多数MacPorts软件包的默认版本。

    但是,当我尝试运行服务器时,localhost显示以下错误消息:

    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
    

    但没用。

    2 回复  |  直到 12 年前
        1
  •  2
  •   gmoore    15 年前

    如果我的注释中的所有内容都签出了,请尝试在用户环境变量中设置prefer-32位,而不是在命令行中设置。

    编辑此文件:~/.macosx/environment.plist

    见:

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

        2
  •  3
  •   glacier    12 年前

    我也遇到了类似的错误,两种情况的结合帮助我安装了Mercurial for OS X Lion。我正在运行OS X 10.7.3。

    首先,在setup.py脚本的第455行有一个bug(至少对于Mercurial 2.2.1,我尝试的版本)。这条线

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

    应替换为

    version=runCmd(['/usr/bin/xcodebuild','-version'],)[0]

    其次,在安装了Mercurial之后(通过Easy_Install、Mac OS X Binary Installer和Compilation),我一直收到以下错误消息:

    importError:dlopen(/library/python/2.7/site-packages/mercurial/osutil.so,2):找不到合适的映像。找到了/library/python/2.7/site-packages/mercurial/osutil.so:mach-o,但架构错误

    但是,看到这篇文章后,我注意到

    默认读取com.apple.versioner.python prefer-32位

    在我的系统上输出1。但是,运行此命令

    默认值写入com.apple.versioner.python prefer-32位-bool no

    然后重新编译/安装mercurial,最终为我生成了一个可执行文件。