Ааааа... Я пытаюсь использовать MySQL с Python. Я установил все библиотеки для использования mySQL, но продолжаю получать: "ImportError: нет модуля с именем mysql.connector" для "import mysql.connector", "mysql" и т.д.
Вот мой конфиг:
У меня есть сервер RHEL:
Red Hat Enterprise Linux Server, версия 6.7 (Сантьяго)
с Python 2.7.9
Python 2.7.9 (по умолчанию, 16 декабря 2014 г., 10:42:10) [GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] на linux2
с MySQL 5.1
mysql Ver 14.14 Distrib 5.1.73, для redhat-linux-gnu (x86_64) с использованием readline 5.1
Я думаю, что у меня установлены все необходимые библиотеки/модули!
ням установить MySQL-Python
Пакет MySQL-python-1.2.3-0.3.c1.1.el6.x86_64 уже установлен и последняя версия
yum установить mysql-connector-python.noarch
Установлено: mysql-connector-python.noarch 0: 1.1.6-1.el6
yum install MySQL-python.x86_64 Пакет MySQL-python-1.2.3-0.3.c1.1.el6.x86_64 уже установлен и последняя версия
yum установить mysql-connector-python.noarch
Пакет mysql-connector-python-1.1.6-1.el6.noarch уже установлен и последняя версия
Что я делаю неправильно? ПОМОГИТЕ!?
Вы должны использовать virtualenv
для того, чтобы изолировать окружающую среду. Таким образом, ваши проектные библиотеки не будут конфликтовать с другими проектными библиотеками. Также вам, вероятно, следует установить драйвер/разъем Mysql
из pip
.
Virtualenv
- это инструмент CLI для управления вашей средой. Он действительно прост в использовании и очень помогает. Он создает все папки, в которых Python нуждается, в произвольном месте (обычно это папка вашего проекта), а также устанавливает все переменные оболочки, чтобы Python мог находить папки. Ваши системные (/usr и т.д.) Папки не удаляются из оболочки; скорее, они просто получают низкий приоритет. Это достигается путем правильной установки переменной PATH
, и virtualenv
делает это при загрузке определенной среды.
Обычной практикой является использование среды для каждого проекта, над которым вы работаете. Таким образом, Python и pip
не будут устанавливать библиотеки в глобальных папках. Вместо этого pip
устанавливает библиотеки в текущей среде, которую вы используете. Это позволяет избежать конфликтов версий и даже конфликтов версий Python.
Не берите в голову!!!
По-видимому, я устанавливаю Python и библиотеки в нужных каталогах и тому подобное (я всегда использовал YUM), но, по-видимому, установлены и другие версии Python... необходимо это исправить.
Запуск: /usr/bin/python
Все модули работали!
Запуск: python (Linux находит где-то путь python)
Модули не работают!
Хмм...
Может быть, я буду проверять Python "Виртуальные среды"! Спасибо за предложения!
Virtualenv
позволит вам контролировать, какая версия Python установлена. И если вы все испортите в виртуальной среде, очень легко разобрать и создать новую
Virtual Enviroment
среде docs.python-guide.org/en/latest/dev/virtualenvs Если вы не рискуете иметь неорганизованную систему, ваша среда может не найти подходящее место для ваших модулей Pythonimport MySQLdb