【问题标题】:Mac/Django error message: "/mercurial/osutil.so: no appropriate 64-bit architecture"Mac/Django 错误消息:“/mercurial/osutil.so:没有合适的 64 位架构”
【发布时间】:2009-12-22 17:49:45
【问题描述】:

我是 Mac 的新手(对 Django 也很陌生),我正在新的 Macbook Pro 上设置一个使用 Mercurial 作为站点包的现有 Django/MySQL 站点。

安装过程中一切顺利 - 没有错误消息。我从 macports 安装了大多数软件包的默认版本。

但是,当我尝试 runserver 时,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

但这没有帮助。

【问题讨论】:

  • 您确定安装了正确的 Python 和/或 Mercurial 架构吗?当您打开终端并输入“python”时会发生什么? Mercurial 有两个适用于 OS X 的软件包,您下载了合适的吗? (苹果菜单->关于本机)
  • 您是否从 Macports 安装了另一个版本的 Python 或者这是默认设置?
  • 我使用 macports 默认安装了 mercurial - 结果证明不,它运行不正常。当我在命令行尝试“hg 版本”时,会出现相同的“没有适当的 64 位架构”。 Python 运行良好 - 尽管出于某种原因它是 2.6.1 版而不是最新的 2.6.4 版。奇怪的是,这一切都在 virtualenv 中运行。当我离开 virtualenv 时,mercurial 运行良好,python 版本为 2.6.4。

标签: django macos mercurial 64-bit


【解决方案1】:

我遇到了类似的错误,两件事的结合帮助我为 OS X Lion 安装了 Mercurial。我正在运行 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]

其次,在我安装 Mercurial(通过 easy_install、Mac OS X 二进制安装程序和编译)后,我不断收到以下错误消息:

ImportError: dlopen(/Library/Python/2.7/site-packages/mercurial/osutil.so, 2): 找不到合适的图像。确实找到了:/Library/Python/2.7/site-packages/mercurial/osutil.so: mach-o, but wrong architecture

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

默认读取 com.apple.versioner.python Prefer-32-Bit

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

默认写入 com.apple.versioner.python Prefer-32-Bit -bool no

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

【讨论】:

    【解决方案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

    【讨论】:

    • 这解决了问题 - 谢谢。虽然我现在收到了另一条错误消息。但很高兴取得了一些进展:)
    • 好吧,发走吧!如果可以的话我会帮忙的。
    猜你喜欢
    • 1970-01-01
    • 2021-10-04
    • 1970-01-01
    • 2017-07-01
    • 2013-12-26
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多