2014-06-17 14 views
7

Mam dwa pliki. Pierwszy ma połączenie i pozyskiwanie danych. Importuję plik mysql.connector. Ten plik nosi nazwę taskSql.py Importuj mysql.connector Python

def get_users(): 
    import mysql.connector 

    con = mysql.connector.connect(user='****', password='*****', 
            host='127.0.0.1', 
            database='tasks') 
    c = con.cursor() 


    users = [] 

    c.execute("""SELECT * FROM task_user""") 

    for row in c: 
     user = { 
      'id': row[0], 
      'first': row[1], 
      'last': row[2], 
      'email': row[3], 
      'password': row[4], 
      'creation_date': row[5] 
     } 
     users.append(user) 
    c.close() 
    return users 
Po uruchomieniu tego pliku pojedynczo działa i zwraca dane.

Mam inny plik o nazwie tasks.py, gdzie zamierzam zaimportować ten plik, jednak to nie działa! Kiedy importuję plik, daje mi to błąd:

ImportError: No module named mysql.connector 

Co robię źle?

Odpowiedz

3

zależności od wersji Pythona i jak go zainstalować, możliwe jest mysql ce złącze nie jest zainstalowany, można go zainstalować z pip

+0

Zrobiłem to z pip, ale mówi, że jest już zainstalowany –

+0

Czy używasz Pythona 3.x? Jeśli tak, czy zainstalowałeś go za pomocą polecenia pip3.x? –

2

Użyłem następującego polecenia, aby zainstalować Pythona mysql-connector na Macu. to działa

pip install mysql-connector-python-rf

+2

Myślę, że powinieneś zacząć swoją odpowiedź od wskazania OP, że być może nie zainstalowali pakietu; a następnie zaproponuj rozwiązanie, które może wymagać pewnych korekt, w zależności od przypadku. – YakovL

+0

Dla mnie również działa na ubuntu 16.04 dla Pythona 2.7 –

4

To działało w Ubuntu 16.04 dla Pythona 2.7:

sudo pip install mysql-connector 
29

byłem stoi podobny problem. Kim env - Python 2.7.11 pip 9.0.1 CentOS zwolnić 5,11 (final)

błąd na interpreter Pythona -

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

Używaj pip przeszukać dostępne module -

$ 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 

Zainstaluj mysql-connector-python-rf -

$ pip install mysql-connector-python-rf 

Sprawdź

$ 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 
>>> 
+0

Ta odpowiedź powinna być * zaakceptowana *. Zawiera wszystko, co niezbędne do zrozumienia i rozwiązania problemu. Dzięki Rishi. –

1

W moim przypadku, po niedawnym (Mac OS High Sierra) uaktualnienie i późniejsze uaktualnienie napar, zacząłem widzieć powyższy błąd. Postępowałem zgodnie z powyższymi instrukcjami, ale wciąż otrzymałem ten sam komunikat o błędzie. Wtedy zdałem sobie sprawę, że musiałem użyć python2, który wskazuje na zainstalowany Python, a nie zainstalowany osx.

+0

Czy rozwiązałeś problem, używając Python2? Sprawdź, czy problem został rozwiązany lub czy nadal występuje. – Repose

+0

Tak, po użyciu python2 mój problem został rozwiązany. –

0

Co pracowało dla mnie, to pobrać plik .deb bezpośrednio i zainstalować go (dpkg -i mysql-connector-python_2.1.7-1ubuntu16.04_all.deb). Pliki do pobrania w języku Python znajdują się pod numerem here (aby najpierw pobrać bezpłatny login MySQL). Upewnij się, że wybrałeś poprawną wersję, tj. (python_2.1.7 vs. python-py3_2.1.7). Pomyślała tylko wersja "Architecture Independent".