2009-12-28 55 views
2

我一直很高興在運行OS X 10.4 Tiger的現有機器上使用Django和MySQL進行開發,並且已經在一個新的64位MacBook上搭建了10.5 Leopard中的類似環境,並配備了工作的MySQL和Python 2.6.4 。MySQL-python 1.2.3和OS X 10.5:64位或32位?

不過,現在我想他們溝通,easy_install MySQL-pythonld warning s表示的file is not of the required architecture,害得我來測試我的Python 2.4.6(從Mac OS X disc image)安裝:

>>> import sys 
>>> sys.maxint 
2147483647 

啊。所以我的Python安裝似乎是32位的(我認爲?)不會爲我的64位MySQL安裝MySQL-python。對於OS X上的MySQL-python(主要是1.2.2),有很多黑客入侵,但是 - 經過幾個小時的閱讀 - 我很確定他們不會修復這種架構不匹配。所以我堅持,因爲我不能決定是否:

  • 放棄,除去64-bit MySQL安裝(?徹底的方法,請),並使用32位的MySQL光盤映像來代替;
  • 在64位模式和壓縮檔重新安裝Python,
    --with-universal archs-64-bit--enable-universalsdk=
    作爲detailed in Python.org's 2.6 news

所以我的問題的人誰遇到這個問題是:

  1. 是在OS X 10.5值得費心安裝64位的Python?
  2. 如果是這樣,(天真,懶惰的問題!)兩個所需的論據如何結合?
  3. 如果我只是跳過32位(如我的工作設置),我錯過了什麼?

我經過無憂的安裝,很容易在其他機器上覆制(可能學生使用),所以我非常歡迎您的意見,請!

回答

3

我萬一有人張貼這在這裏找到這個頁面,需要一個答案......

解決方案:removethe MySQL 64位的安裝(改變下面來匹配你的MySQL版本號):

cd /usr/local 
sudo rm -rf mysql-5.1.41-osx10.5-x86_64 
rm -r mysql 
cd /Library/Receipts/ 
rm -r mysql-5.1.41-osx10.5-x86_64.pkg 

downloads pageset it up as required安裝最新的32位MySQL軟件包。

與刪除的MySQL的Python:

easy_install -m MySQL-python 

然後刪除蛋site-packages,並確保easy_install -m除去在easy-install.pth文件中有包線。

啓動MySQL的,然後再重新安裝MySQL-python的(請確保您獲得最新版本 - 1.2.3 - 在寫作時):easy_install MySQL-python

測試:

>>> import MySQLdb 

對於我解決了這個問題。無需編輯_mysql.c(as advisedMySQL-python 1.2.2)或混淆其他任何設置。

你需要他們(如果上述失敗,或者如果你真的想嘗試一個64位的安裝),這裏有一些使用的環節,而研究這個:

note this

「如果你去64,那麼你將不得不 重新編譯 與蟒蛇,MySQL和 阿帕奇交互爲64位拱工作的每一件事情 節目」

而對於雪豹的人:

最後,MacPython 2.7 installer現佔地面積64位。看到這個職位的differences between running 64 and/or 32 bit

1

我發現下面的步驟(雪豹)讓我的64位MySQL和64位的Python(在2011年初的MacBook Pro)

  1. 安裝的Xcode
  2. 安裝64位的MySQL
  3. 安裝最新的Python
  4. 安裝的easy_install

    下載並安裝由相應的蛋:http://pypi.python.org/pypi/setuptools,然後運行shell腳本(在我情況下...)
    須藤SH setuptools的-0.6c11-py2.6.egg

  5. 安裝MySQLdb的Python庫

    出口PATH = $ PATH:在/ usr /本地/ MySQL的/斌/
    須藤的easy_install在MySQL-python的

  6. 更改〜/ .profile文件包含以下行:

    出口VERSIONER_PYTHON_PREFER_32_BIT =沒有
    出口VERSIONER_PYTHON_PREFER_64_BIT = YES

  7. 製作libmysqlclient.18。dylib可用

    須藤LN -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

+0

感謝布萊恩 - 有用的。 Python 2.7有一個64位安裝程序http://www.python.org/getit/,所以當我最終去Snow Leopard時,我可能會先從這個開始:-) – 2011-05-27 21:05:20