Я просто пытаюсь начать использовать sqlalchemy.По какой-то причине я ничего не могу заставить работать.
Я установил sqlalchemy, импорт работает сам по себе.Я попытался запустить следующий код на этом сайте:
https://www.pythoncentral.io/introductory-tutorial-python-sqlalchemy/
Код выглядит следующим образом:
import os
import sys
from sqlalchemy import Column, ForeignKey, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship
from sqlalchemy import create_engine
Base = declarative_base()
class Person(Base):
__tablename__ = 'person'
# Here we define columns for the table person
# Notice that each column is also a normal Python instance attribute.
id = Column(Integer, primary_key=True)
name = Column(String(250), nullable=False)
class Address(Base):
__tablename__ = 'address'
# Here we define columns for the table address.
# Notice that each column is also a normal Python instance attribute.
id = Column(Integer, primary_key=True)
street_name = Column(String(250))
street_number = Column(String(250))
post_code = Column(String(250), nullable=False)
person_id = Column(Integer, ForeignKey('person.id'))
person = relationship(Person)
# Create an engine that stores data in the local directory's
# sqlalchemy_example.db file.
engine = create_engine('sqlite:///sqlalchemy_example.db')
# Create all tables in the engine. This is equivalent to "Create Table"
# statements in raw SQL.
Base.metadata.create_all(engine)
Я скопировал и вставил код для созданияи я получаю следующую ошибку
Я перешел к http://sqlalche.me/e/e3q8 и, похоже, считает, что добавление pool_pre_ping = True к движку поможет решить проблему. В нем упоминаются проблемы с подключением, но на самом деле не понимаю, как это может быть, поскольку он просто создаетбаза данных sqlite.
Буду очень признателен за советы, как решить эту проблему.
Редактировать: Я добавил конкретный код в свой вопрос.
Также я пыталсявыполнение кода в pythonanywhere, и он работает как положено. Любое руководство о том, что может быть не так с моей машиной, будет оценено.