2015-11-06 38 views
0

我用mysql.connector連接到mysql,這裏是我的Python一句:mysql的AttributeError的「模塊」對象有沒有屬性「unpack_from」

conn = mysql.connector.connect(user = 'root', password = 'password', database = 'test', use_unicode = True)` 

,但有錯誤,這裏是日誌:

Traceback (most recent call last): 
    File "PythonConnectToMySQL.py", line 6, in <module> 
    conn = mysql.connector.connect(user = 'root', password = 'hankenqqqq', database = 'test', use_unicode = True) 
    File "/usr/local/lib/python2.7/dist-packages/mysql/connector/__init__.py", line 162, in connect 
    return MySQLConnection(*args, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/mysql/connector/connection.py", line 129, in __init__ 
    self.connect(**kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/mysql/connector/connection.py", line 454, in connect 
    self._open_connection() 
    File "/usr/local/lib/python2.7/dist-packages/mysql/connector/connection.py", line 418, in _open_connection 
    self._do_handshake() 
    File "/usr/local/lib/python2.7/dist-packages/mysql/connector/connection.py", line 141, in _do_handshake 
    packet = self._socket.recv() 
    File "/usr/local/lib/python2.7/dist-packages/mysql/connector/network.py", line 235, in recv_plain 
    payload_len = struct.unpack_from(
AttributeError: 'module' object has no attribute 'unpack_from'` 

這裏是我的代碼:

#!/usr/bin/env python2.7 
#-*-coding:utf8-*- 

import mysql.connector 

conn = mysql.connector.connect(user = 'root', password = 'password', database = 'test', use_unicode = True) 

cursor = conn.cursor()  
cursor.execute('create table user (id varchar(20) primary key, name varchar(20))') 

cursor.execute('insert into user(id, name) values (%s, %s)', ['1', 'Mary']) 
print cursor.rowcount 

conn.commit() 
cursor.close() 

cursor = conn.cursor() 
cursor.execute('select * from user where id = %s', '1') 

values = cursor.fetchall() 
print values 

cursor.close() 
conn.close() 

我已創建數據庫test in mysql 謝謝

回答

0

您正在使用哪個Python版本?

struct是一個內置庫,unpack_from方法包含在Python 2.5版中。

如果您使用的是舊版本的Python,請考慮升級到2.7或3.X版本。

如果無法移動到更新的版本,可以嘗試使用舊版本的連接器(版本1.0與Python 2.4兼容)。你可以下載舊版本here

+0

我的Python版本是2.7.6,而mysql.connector的版本是2.0.4。所以我認爲這不是版本 – ken

+1

的問題我找到了這個問題的原因,那是因爲我寫了一個名爲struct.py的文件,所以當我導入struct的時候,會出現一個錯誤。謝謝你的幫助我! – ken

+0

@ken你最後的評論是我的答案。如果你讓它成爲一個真正的答案而不是評論,我會贊成它。 – whereswalden

相關問題