كيفية الوصول إلى MySQL Python Connector باستخدام Python 2.7.8 وSublime Text 3 على OS X 10.9
-
20-12-2019 - |
سؤال
أحاول إعداد MySQL للعمل مع python 2.7.8 وSublime Text 3 على OS X 10.9، لذلك قمت بتثبيت موصل MySQL python.عندما أحاول تشغيل "import mysql.connector"، أعود "ImportError:لا توجد وحدة تسمى موصل".
كيف يجب تكوين ذلك حتى أتمكن من استخدام الموصل للوصول إلى MySQL؟
تفاصيل:
- يتم تثبيت Sublime ضمن التطبيقات
- يستخدم Sublime Text 3 python 3 كإعداد افتراضي، لذلك اضطررت إلى إعداد نظام بناء python 2.7.هذا هو الكود الخاص بي لهذا النظام:
"cmd": ["/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/bin/python2.7", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python2"
-تم تثبيت بايثون في
/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/bin/python2.7
-تم تثبيت الملف القابل للتنفيذ MySQL في
/usr/local/mysql-5.6.19-osx10.7-x86_64/bin
-الموصل لديه رابط رمزي في
/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/mysql/connector
ويتم تثبيته بالكامل في
/usr/local/lib/python2.7/site-packages/mysql/connector
بالإضافة إلى ذلك، أضفت ما يلي إلى .bash_profile لإضافة الأدلة الضرورية إلى المسار.
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
# trying to get mysql access
PATH = "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages:${PATH}"
export PATH
أنا متأكد من أنني أفتقد شيئًا بسيطًا، ولكن هذه هي المرة الأولى التي أقوم فيها بإعداد هذا القدر، وقد أمضيت ساعات طويلة جدًا في البحث على Google ومحاولة اكتشاف الخطأ الذي أفعله.هل لدى أي شخص فكرة عما أحتاج إلى تغييره للوصول إلى وحدة الموصل؟شكرا لك مقدما.
المحلول
لا تستخدم بايثون الصدفة $PATH
لتحديد موقع الوحدات القابلة للاستيراد، فإنه يستخدم قائمة تسمى sys.path
في بايثون.إذا قمت بتشغيل المترجم الخاص بك والطباعة sys.path
منه يجب أن ترى أن site-packages
يتم بالفعل البحث في الدليل.يمكنك طلب إضافة المزيد من الأدلة إلى sys.path
قبل تنفيذ البرنامج عن طريق إضافتها إلى ملف $PYTHONPATH
متغير بيئة القشرة.
ويظهر من البنية أن mysql
هي حزمة مع connector
كونها حزمة فرعية، وأعتقد أنك بحاجة إلى جعل الرابط الرمزي دليلًا واحدًا أعلى (أي. إلى mysql
الدليل) لالتقاط ما يلزم __init__.py
سيؤدي ذلك إلى التعرف عليها كحزمة.
بشكل عام، من الجيد أن تتعلم كيفية الاستخدام pip
لتثبيت الوحدات والحزم في ما يسمى بالبيئات الافتراضية.فهو يسمح لك (على سبيل المثال) بأن يكون لديك برامج مختلفة تستخدم إصدارات مختلفة من نفس الوحدة.