MySQL в Python 2.7.9

0

Ааааа... Я пытаюсь использовать 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 уже установлен и последняя версия


Что я делаю неправильно? ПОМОГИТЕ!?

  • 2
    Разрабатываете ли вы в Virtual Enviroment среде docs.python-guide.org/en/latest/dev/virtualenvs Если вы не рискуете иметь неорганизованную систему, ваша среда может не найти подходящее место для ваших модулей Python
  • 0
    что вы видите, когда вы делаете import MySQLdb
Показать ещё 4 комментария
Теги:
python-2.7

2 ответа

2
Лучший ответ

Вы должны использовать virtualenv для того, чтобы изолировать окружающую среду. Таким образом, ваши проектные библиотеки не будут конфликтовать с другими проектными библиотеками. Также вам, вероятно, следует установить драйвер/разъем Mysql из pip.

Virtualenv - это инструмент CLI для управления вашей средой. Он действительно прост в использовании и очень помогает. Он создает все папки, в которых Python нуждается, в произвольном месте (обычно это папка вашего проекта), а также устанавливает все переменные оболочки, чтобы Python мог находить папки. Ваши системные (/usr и т.д.) Папки не удаляются из оболочки; скорее, они просто получают низкий приоритет. Это достигается путем правильной установки переменной PATH, и virtualenv делает это при загрузке определенной среды.

Обычной практикой является использование среды для каждого проекта, над которым вы работаете. Таким образом, Python и pip не будут устанавливать библиотеки в глобальных папках. Вместо этого pip устанавливает библиотеки в текущей среде, которую вы используете. Это позволяет избежать конфликтов версий и даже конфликтов версий Python.

  • 1
    @canouro: Что такое виртуальная среда для Python? Я собираюсь в Google это сейчас, но это только добавляет больше сложности моей настройке? Смотрите комментарий выше?
-1

Не берите в голову!!!

По-видимому, я устанавливаю Python и библиотеки в нужных каталогах и тому подобное (я всегда использовал YUM), но, по-видимому, установлены и другие версии Python... необходимо это исправить.

Запуск: /usr/bin/python

Все модули работали!

Запуск: python (Linux находит где-то путь python)

Модули не работают!

Хмм...

Может быть, я буду проверять Python "Виртуальные среды"! Спасибо за предложения!

  • 2
    Наличие Virtualenv позволит вам контролировать, какая версия Python установлена. И если вы все испортите в виртуальной среде, очень легко разобрать и создать новую

Ещё вопросы

Сообщество Overcoder
Наверх
Меню