mysql - 无法使用 peewee 连接到 MySQL 数据库
问题描述
在 PyCharm 中,我在我的计算机上使用 pymysql 创建了一个 MySQL 模式。现在我想使用 Peewee 创建表并编写 SQL 查询。但是,在尝试连接数据库时,我总是收到一条错误消息(见下文)。
用户有足够的权限在 DB 模式中创建表,因为它可以完美地与 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”中创建一个新表。但相反,代码在尝试连接到数据库时会引发错误消息:
/lib/x86_64-linux-gnu/librt.so.1' for IFUNC symbol
/usr/bin/python3.6:用clock_gettime重新链接'/lib/x86_64-linux-gnu/libsystemd.so.0 '/usr/bin/python3.6: 重新链接
/lib/x86_64-linux-gnu/libudev.so.1' with
/lib/x86_64-linux-gnu/librt.so.1' 为 IFUNC 符号 `clock_gettime' 你知道如何解决这个问题吗?
提前致谢
解决方案
正如@coleifer 在他的评论中指出的那样,该错误可能与 Python 中的共享库问题有关。设置新的虚拟环境并安装所有必需的软件包后,一切运行良好。
我刚刚添加了能够结束问题的答案。如果@coleifer 将他的评论转换为答案,我将删除我的并接受他的。
推荐阅读
- spring-boot - 从 cmd 调用 java -jar app.jar --spring.config.location=file:///Users/home/config/jdbc.properties 时出现白标签错误
- django-models - 如何解决 NoReverseMatch?
- java - 使用 TransformerFactory 的 XSLT Transformer 增加元空间
- laravel - 在我安装了“hardevine/shoppingcart”包之后,出现“此集合实例上不存在属性 [id]”错误
- docker - 在运行时不带引号传递 env 变量
- php - 如何根据特定条件计算总和
- android - Firebase 注册问题
- angular - Angular Route ExtraOptions 对象
- xamarin - 无法制作存档 ios 应用程序以进行发布
- python - 如何转置 Pandas.Groupby 的结果