ImportError: Немає модуля з назвою 'MySQL'


81

Я успішно завантажив Connector / Python для MySQL. Я використовував наступний код в оболонці Python для перевірки мого з'єднання:

import mysql.connector

Я отримав таке повідомлення про помилку:

Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    import mysql.connector
ImportError: No module named 'mysql'

Я не можу зрозуміти, чому MySQL не розпізнається.


1
Чи налаштований python у вашій змінній середовища PATH? Я вважаю, що це необхідно для правильної установки.
— devmacrile

На якій ви платформі? Windows?
— devmacrile

OS X, я тестував це в моїй оболонці: print (get_python_lib ()), і він повернув /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages
— Мелані

print(sys.path) ['/Users/Noah/Desktop/Melanie', '/Users/Noah/Documents', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python35.zip', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/plat-darwin', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages']
— Мелані

Ви бачите роз'єм, встановлений у цьому каталозі? З вашої оболонки python виконайте os.listdir("/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages"). А запуск which pythonв терміналі також дає вам цей шлях?
— devmacrile

Відповіді:


105

Я стикався з подібною проблемою. Мої дані про середовище - Python 2.7.11 pip 9.0.1 CentOS, випуск 5.11 (Final)

Помилка інтерпретатора python -

>>> import mysql.connector
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named mysql.connector
>>>

Використовуйте pip для пошуку доступного модуля -

$ pip search mysql-connector | grep --color mysql-connector-python



mysql-connector-python-rf (2.2.2)        - MySQL driver written in Python
mysql-connector-python (2.0.4)           - MySQL driver written in Python

Встановіть mysql-connector-python-rf -

$ pip install mysql-connector-python-rf

Перевірити

$ python
Python 2.7.11 (default, Apr 26 2016, 13:18:56)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysql.connector
>>>

Дякую =)

Для python3 та пізніших версій використовуйте наступну команду: $ pip3 встановіть mysql-connector-python-rf


1
Дякуємо за цю команду "pip install mysql-connector-python-rf". Це вирішило мою проблему.
— Ахмед Гад

16
pip install mysql-connectorмені було достатньо.
— jorijnsmit

3
Крім того, не називайте свій сценарій python "mysql.py" . Про всяк випадок.
— Benji

Про всяк випадок, коли хтось такий німий, як я, для мене потрібен був додатковий крок. Слідуючи порадам у цій відповіді, мені потрібно було вибрати правильний інтерпретатор Python у конфігурації запуску PyCharm (той, що знаходиться у венві, до якого я встановив усі модулі).
— серешкін

Дякую. pip search mysql-connector Це дуже корисно
— Майкл

36

Використовуйте pip3 install mysql-connector для встановлення Python в упаковці (якщо ви використовуєте Python 3. Для Python 2 ви можете використовувати pip).


31

Може бути проста установка з cli?

pip3 install mysql-connector-python-rf

Назва пакета відрізняється від назви бібліотеки імпорту

Або мій універсальний варіант у коді:

import pip
pip.main(['install','mysql-connector-python-rf'])

Для нової версії pip:

from pip._internal import main
main(['install','mysql-connector-python-rf'])

Краще - встановити необхідні модулі під час запуску установки python (якщо їх багато)


1
Це дає мені довгу, червону і страшну помилку. Відповідь @ ilexcel спрацювала чудово.
— Генрік

27

Дурною помилкою, яку я зробив, було те, що я залишився mysql.pyв тому самому режимі. Спробуйте перейменувати mysql.pyна інше ім'я, тому pythonне розглядайте це як модуль.


спробуйте виділити ключові слова та чітко
— визначтесь

1
У мене була та ж помилка. Я голосую за цю відповідь, тому що саме це відбувалося зі мною. мій скрипт з назвою mysql.py і, мабуть, це заборонено. Я змінився на conecta.py, і це спрацювало.
— Філіпе

1
Блін! Це має бути прийнятою відповіддю! Дякую!
— Себастьян

Дуже дякую. Це вирішило мою проблему, будь ласка, не використовуйте своє ім’я файлу mysql.py
— Zia

Це спрацювало для мене після випробування всіх попередніх рішень. Thx
— Jakub Ujvvary

19

Я спробував усі відповіді, але не працював для мене. Це проблема версії python, врешті-решт, я зрозумів, що скриптам python 3 потрібна явна команда pip для python 3, принаймні на ubuntu 18.

python3 -m pip install mysql-connector

4

Спробуйте цей бутон

sudo wget http://cdn.mysql.com//Downloads/Connector-Python/mysql-connector-python-2.1.3.tar.gz

gunzip mysql-connector-python-2.1.3.tar.gz

tar xf mysql-connector-python-2.1.3.tar

cd mysql-connector-python-2.1.3

sudo python3 setup.py install

3

лише примітка, я щойно встановив mysql на сервері ubuntu 16.04. Я спробував різні варіанти в такому порядку:

  • використання пакету з репозиторію sudo apt-get install python-mysqldb: був встановлений правильно, але на жаль, python повернувсяImportError: No module named 'mysql'
  • з допомогою пакета Ubuntu з Mysql: wget http://dev.mysql.com/get/Downloads/Connector-Python/mysql-connector-python_2.1.4-1ubuntu16.04_all.deb. Правильно встановлено sudo dpckg -i package_name, але python повернув ту саму помилку.
  • за допомогою файлу tar.gz, встановлення за допомогою python, працювало нормально.
    • wget http://dev.mysql.com/get/Downloads/Connector-Python/mysql-connector-python-2.1.6.tar.gz (використовувався 2.1.4 на той час)
    • tar -xf mysql-connector-python-2.1.6.tar.gz
    • cd mysql-connector-python-2.1.6/
    • sudo python3 setup.py install

Не досліджував, чому перші два зазнали невдачі, можливо, спробуйте пізніше. Сподіваюся, це комусь допомагає.


Крістіане - дякую за це, чи можете Ви детальніше розказати про рішення (я вважаю файл tar.gz), яке працювало для Вас? У мене така ж проблема, але у третьому варіанті не вистачає деталей. Дякую!
— elPastor

вибачте, я щойно прочитав ваш коментар. Я залишив робоче місце, де цим займався. Провів швидкий тест на віртуальній машині, яка, здавалося, працювала, див. Оновлену відповідь
— nihilis

3

Вам потрібно використовувати анаконду для управління залежностями середовища python. Роз'єм MySQL можна встановити за допомогою програми встановлення conda

conda install -c anaconda mysql-connector-python

Anaconda є добре прийнятим менеджером залежностей Python. Будь ласка, коментуйте, якщо це неправда.
— акшат такар

2

Я виявив, що рішення @ gdxn96 працює для мене, але з 1 зміною.

sudo wget http://cdn.mysql.com//Downloads/Connector-Python/mysql-connector-python-2.1.3.tar.gz
tar -zxvf mysql-connector-python-2.1.3.tar
cd mysql-connector-python-2.1.3
sudo python3 setup.py install


1

Я знайшов ще одну причину: якщо шлях до файлу програми містить пробіл або спеціальні символи, ви отримаєте цю помилку.


1

Ця проблема була для мене чумою !!! 100% рішення полягає в тому, щоб забути про використання модуля mysql: import mysql.connector , замість цього використовуйте pymysql через import pymysql. Я встановив його за інструкцією: python3 -m pip install PyMySQL

внесено зміни до: 1. Імпорту оператора 2. З’єднувача 3. Курсора

Після цього все працювало як шарм. Сподіваюся, це допомагає!


Ви можете, будь ласка, перелічити внесені вами зміни?
— Рахатур,

Я застряг у OpenSUSE Leap. Це дуже швидке та безпечне рішення. Працював у мене.
— Рахатур

0

Вам потрібно скористатися однією з наступних команд. Який із них залежить від різних ОС-2 та програмного забезпечення, яке ви маєте та використовуєте.

sudo easy_install mysql-python (mix os)
sudo pip install mysql-python (mix os)
sudo apt-get install python-mysqldb (Linux Ubuntu, ...)
cd /usr/ports/databases/py-MySQLdb && make install clean (FreeBSD)
yum install MySQL-python (Linux Fedora, CentOS ...)

0

Я просто перемістив вихідну папку connectorз папки mysqlв site-packages. І біжиimport connector


0

Для 64-розрядних вікон

встановити за допомогою колеса

pip install wheel download from http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python

Для python 3.x:

pip install mysqlclient-xxxxxxxxx-win_amd64.whl

Для python 2.7:

pip install mysqlclient-xxxxxxxxx-win_amd64.whl


0

бігти

pip list 

щоб переглянути список встановлених пакетів. Якщо є, mysql-connector-pythonто це нормально.

Пам’ятайте, що не слід називати файл сценарію python як mysql.py

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.