<p>借助@birryree的评论,我发现了这个问题。按照@birryrree在他的回答中建议的步骤来做可能会更好,但我以前确实尝试过,而且成功了:</p>
<p>按照建议,我做到了:</p>
<pre><code>file /Users/aj/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-ix86_64.egg-tmp/_mysql.so
</code></pre>
<p>获取:<code>[...]: Mach-O bundle i386</code>
所以,错误的架构。从那以后,我对mysql和python也做了同样的操作,以确保:
<code>file $(which python)</code>给出:</p>
<pre><code>/Library/Frameworks/Python.framework/Versions/2.7/bin/python: Mach-O universal binary with 2 architectures
/Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture i386): Mach-O executable i386
/Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture x86_64): Mach-O 64-bit executable x86_64
</code></pre>
<p>以及<code>file $(which mysql)</code>:</p>
<pre><code>/usr/local/mysql/bin/mysql: Mach-O 64-bit executable x86_64
</code></pre>
<p>所以我卸载了mysql python包:<code>sudo pip uninstall mysql-python</code>并再次安装。但这样做,我意识到我之前的错误,而安装这个包。我第一次打字:</p>
<p><code>sudo ARCHFLAGS='-arch ix86_64' python setup.py build</code>(然后“安装”)</p>
<p>架构名称错误,应该是'-arch x86_64',没有“i”,所以它忽略了我的标志并安装了32位。</p>
<p>安装下载的64位mysql python包的正确命令(从源文件夹中):</p>
<pre><code>sudo ARCHFLAGS='-arch x86_64' python setup.py build
sudo ARCHFLAGS='-arch x86_64' python setup.py install
</code></pre>