Как получить доступ к 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:Нет модуля с именем Connector».
Как это следует настроить, чтобы я мог использовать соединитель для доступа к 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"
-Python установлен на
/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 и попытки выяснить, что я делаю неправильно.Кто-нибудь знает, что мне нужно изменить, чтобы получить доступ к модулю разъема?Заранее спасибо.
Решение
Python не использует оболочку $PATH
переменная для поиска импортируемых модулей, она использует список под названием sys.path
в Python.Если вы запустите свой интерпретатор и распечатаете sys.path
из этого вы должны увидеть, что site-packages
каталог уже ищется.Вы можете запросить добавление дополнительных каталогов в sys.path
перед выполнением программы, добавив их в $PYTHONPATH
переменная среды оболочки.
Из структуры видно, что mysql
это пакет с connector
будучи подпакетом, и я предполагаю, что вам нужно сделать символическую ссылку на один каталог выше (то есть к mysql
каталог), чтобы подобрать необходимое __init__.py
это приведет к тому, что он будет распознан как пакет.
В общем, неплохо научиться пользоваться pip
для установки модулей и пакетов в так называемых виртуальных средах.это позволяет вам (например) заставить разные программы использовать разные версии одного и того же модуля.