Невозможно подключиться к базе данных MySQL с peewee - PullRequest
0 голосов
/ 28 октября 2019

В PyCharm я создал схему MySQL, используя pymysql на моем компьютере. Теперь я хочу использовать 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: Relink '/lib/x86_64-linux-gnu/libsystemd.so. 0 'с /lib/x86_64-linux-gnu/librt.so.1' for IFUNC symbol clock_gettime'

/ usr / bin / python3.6: Relink /lib/x86_64-linux-gnu/libudev.so.1' with / lib / x86_64-linux-gnu / librt.so.1 'для символа IFUNC `clock_gettime' Do youесть идеи как решить эту проблему?

Заранее спасибо

1 Ответ

0 голосов
/ 30 октября 2019

Как отметил @coleifer в своем комментарии, ошибка, вероятно, связана с проблемой общей библиотеки в Python. После настройки новой виртуальной среды и установки всех необходимых пакетов все работает отлично.

Я только добавил ответ, чтобы иметь возможность закрыть вопрос. Если @coleifer преобразует свой комментарий в ответ, я удалю свой и приму его.

...