سؤال

لقد كنت بسعادة استخدام Django و MySQL في التطوير على جهاز حالي يعمل OS X 10.4 Tiger ، وأنشأت بيئة مماثلة في 10.5 Leopard على جهاز MacBook جديد 64 بت ، مع MySQL و Python 2.6.4.

ومع ذلك ، الآن أريدهم أن يتواصلوا ، easy_install MySQL-python أعطى ld warningق أن file is not of the required architecture, ، مما دفعني إلى اختبار تثبيت بيثون 2.4.6 (من صورة قرص Mac OS X):

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

آه. لذلك يبدو أن تثبيت Python الخاص بي هو 32 بت و (أعتقد؟) لن يقوم بتثبيت MySql-Python ل mysql 64 بت. هناك الكثير من الاختراقات هناك لـ MySQL -Python على OS X (معظمها 1.2.2) ، لكن - بعد ساعات من القراءة - أنا متأكد تمامًا من أنهم لن يصلحوا عدم تطابق الهندسة المعمارية. لذلك أنا عالق لأنني لا أستطيع أن أقرر:

  • الاستسلام ، قم بإزالة 64 بت mysql تثبيت (طرق شاملة ، من فضلك؟) واستخدم صورة قرص MySQL 32 بت بدلاً من ذلك ؛
  • أعد تثبيت Python في وضع 64 بت من Tarball ،
    --with-universal archs-64-bit و --enable-universalsdk=
    مثل مفصلة في أخبار Python.org 2.6.

لذا فإن أسئلتي لأي شخص واجه هذه المشكلة هي:

  1. هل تثبيت بيثون 64 بت على OS X 10.5 يستحق الإزعاج؟
  2. إذا كان الأمر كذلك ، (سؤال ساذج ، كسول!) كيف يتم دمج الحجتين المطلوبتين؟
  3. إذا تخطيت للتو 32 بت (كما في إعداد العمل الخاص بي) ، فما الذي أفتقده؟

أنا بعد تثبيت خالٍ من المتاعب يسهل إعادة إنتاجه على الآلات الأخرى (استخدام الطالب المحتمل) ، لذلك أرحب حقًا بآرائك ، من فضلك!

هل كانت مفيدة؟

المحلول

أقوم بنشر هذا هنا في حال وجد أي شخص هذه الصفحة ويحتاج إلى إجابة ...

المحلول: إزالة 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

قم بتثبيت أحدث حزمة MySQL 32 بت من صفحة التنزيلات و إعداده كما هو مطلوب.

إزالة 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 (كما نصح ل Mysql-Python 1.2.2) أو العبث مع أي إعدادات أخرى.

إذا كنت في حاجة إليها (إذا فشل ما سبق ، أو إذا كنت تريد حقًا تجربة تثبيت 64 بت) ، فإليك بعض الروابط المستخدمة أثناء البحث في هذا:

لكن لاحظ هذا:

"إذا ذهبت 64 ، فسيتعين عليك إعادة ترجمة كل شيء يتفاعل مع Python و MySQL و Apache للعمل كبرنامج قوس 64 بت"

ولأي شخص على ثلج ليوبارد:

وأخيرا، فإن مثبت Macpython 2.7 يغطي الآن 64 بت. انظر هذا المنشور ل الاختلافات بين الجري 64 و/أو 32 بت.

نصائح أخرى

لقد وجدت الخطوات التالية (مع Snow Leopard) حصلت لي 64 بت MySQL و 64 بت Python (في أوائل عام 2011 MacBook Pro)

  1. تثبيت Xcode
  2. تثبيت 64 بت mysql
  3. تثبيت أحدث بيثون
  4. تثبيت easy_install

    قم بتنزيل وتثبيت البيضة المناسبة من: http://pypi.python.org/pypi/Setuptools ثم قم بتشغيل البرنامج النصي Shell (في حالتي ...)
    sudo sh setuptools-0.6c11-py2.6.egg

  5. قم بتثبيت مكتبة MySQLDB Python

    مسار التصدير = مسار $:/usr/local/mysql/bin/
    sudo easy_install mysql-python

  6. تغيير ~/.profile لتضمين الأسطر التالية:

    تصدير الإصدار _python_prefer_32_bit = لا
    إصدار التصدير _python_prefer_64_bit = نعم

  7. اجعل libmysqlclient.18.dylib متاح

    sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top