无法使用peewee连接到MySQL数据库

时间:2019-10-28 18:45:23

标签: mysql python-3.6 pymysql peewee

在PyCharm中,我在计算机上使用pymysql创建了一个MySQL模式。现在,我想使用Peewee创建表并编写SQL查询。但是,尝试连接到数据库时,总是收到错误消息(见下文)。

用户具有在数据库模式中创建表的足够权限,因为它可以完美地与pymysql配合使用(创建表和模式都可以正常工作)。 我在Stackoverflow上看过类似的问题,但找不到类似的问题。而且,在我看过的任何教程中都没有遇到此问题,因此我不确定是导致错误的罪魁祸首。下面是一个最小的工作示例。

    from peewee import*
    import peewee

    user = 'root'
    password = 'root'
    db_name = 'peewee_demo'

    # The schema with the name 'peewee_demo' exists
    db = MySQLDatabase(db_name, user=user, passwd=password)


    class Book(peewee.Model):
        author = peewee.CharField()
        title = peewee.TextField()

        class Meta:
            database = db


    db.connect()  # Code fails here
    Book.create_table()
    book = Book(author="me", title='Peewee is cool')
    book.save()
    for book in Book.filter(author="me"):
        print(book.title)

我希望上面的代码可以连接到MySQL,然后在“ peewee_demo”模式中创建一个新表。但是,相反,当尝试连接到数据库时,代码将引发错误消息:

  

/usr/bin/python3.6:使用/lib/x86_64-linux-gnu/librt.so.1' for IFUNC symbol clock_gettime'重新链接'/lib/x86_64-linux-gnu/libsystemd.so.0'

     

/usr/bin/python3.6:重新链接IFUNC符号“ clock_gettime”的/lib/x86_64-linux-gnu/libudev.so.1' with / lib / x86_64-linux-gnu / librt.so.1'   您是否有解决此问题的想法?

预先感谢

1 个答案:

答案 0 :(得分:0)

正如@coleifer在他的评论中指出的那样,该错误可能与Python中的共享库问题有关。在设置了新的虚拟环境并安装了所有必需的软件包之后,一切都运行良好。

我刚刚添加了答案即可解决问题。如果@coleifer将他的评论转换为答案,我将删除我的并接受他。

相关问题