Mysql-Python 1.2.3 و OS X 10.5: 64- أو 32 بت؟
-
21-09-2019 - |
سؤال
لقد كنت بسعادة استخدام 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.
لذا فإن أسئلتي لأي شخص واجه هذه المشكلة هي:
- هل تثبيت بيثون 64 بت على OS X 10.5 يستحق الإزعاج؟
- إذا كان الأمر كذلك ، (سؤال ساذج ، كسول!) كيف يتم دمج الحجتين المطلوبتين؟
- إذا تخطيت للتو 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 بت) ، فإليك بعض الروابط المستخدمة أثناء البحث في هذا:
- أندي دبان ، مطور MySQLDB
- Django على الفهد
- مدونة Jim B: تثبيت إصدار جديد من Python 2.6.4
- نتائج البحث لأقواس setuptools 32 بت - markmail
- Mysql-Python و Apple OSX 10.5 (Leopard)
- تثبيت Django / Python / MySQL على OS X | Davidmichaelthompson
لكن لاحظ هذا:
"إذا ذهبت 64 ، فسيتعين عليك إعادة ترجمة كل شيء يتفاعل مع Python و MySQL و Apache للعمل كبرنامج قوس 64 بت"
ولأي شخص على ثلج ليوبارد:
وأخيرا، فإن مثبت Macpython 2.7 يغطي الآن 64 بت. انظر هذا المنشور ل الاختلافات بين الجري 64 و/أو 32 بت.
نصائح أخرى
لقد وجدت الخطوات التالية (مع Snow Leopard) حصلت لي 64 بت MySQL و 64 بت Python (في أوائل عام 2011 MacBook Pro)
- تثبيت Xcode
- تثبيت 64 بت mysql
- تثبيت أحدث بيثون
تثبيت easy_install
قم بتنزيل وتثبيت البيضة المناسبة من: http://pypi.python.org/pypi/Setuptools ثم قم بتشغيل البرنامج النصي Shell (في حالتي ...)
sudo sh setuptools-0.6c11-py2.6.eggقم بتثبيت مكتبة MySQLDB Python
مسار التصدير = مسار $:/usr/local/mysql/bin/
sudo easy_install mysql-pythonتغيير ~/.profile لتضمين الأسطر التالية:
تصدير الإصدار _python_prefer_32_bit = لا
إصدار التصدير _python_prefer_64_bit = نعماجعل libmysqlclient.18.dylib متاح
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib