用python3的pymysql库连接mysql时出现AttributeError

刚开始学用python整合mysql,代码如下

import pymysql

conn = pymysql.connect(host='127.0.0.1',unix_socket='/tmp/mysql.sock',user='zzp',password='zaqwsx123',db='mysql')
cur = conn.cursor()
cur.execute('USE scraping')
cur.execute('SELECT * FORM pages WHERE id = 1')
print(cur.fetchone())
cur.close()
conn.close()
  • 运行时就出错了:

    Traceback (most recent call last):
    File "C:/Users/zzp/PycharmProjects/untitled2/test.py", line 3, in <module>
    conn = pymysql.connect(host='127.0.0.1',unix_socket='/tmp/mysql.sock',user='zzp',password='zhangzhipeng123',db='mysql')
    File "C:UserszzpAppDataLocalProgramsPythonPython35-32libsite-packagespymysql__init__.py", line 90, in Connect
    return Connection(args, *kwargs)
    File "C:UserszzpAppDataLocalProgramsPythonPython35-32libsite-packagespymysqlconnections.py", line 688, in init
    self.connect()
    File "C:UserszzpAppDataLocalProgramsPythonPython35-32libsite-packagespymysqlconnections.py", line 881, in connect
    sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
    AttributeError: module 'socket' has no attribute 'AF_UNIX'

百度时有人说删除socket.pyc文件,但我没找到什么socket.pyc文件
有人说是命名冲突。但具体的解决办法是什么呢?

阅读 6.7k
2 个回答

删除 unix_socket='/tmp/mysql.sock',这段代码即可

看你的报错信息,得知你运行的环境是windows,但是你py代码里面conn写的又是Linux服务器的连接方式,而且还是socket连接

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题