Python I';我开始学习炼金术。I';我在处理和粘贴示例代码时遇到操作错误

Python I';我开始学习炼金术。I';我在处理和粘贴示例代码时遇到操作错误,python,sqlalchemy,Python,Sqlalchemy,我只是想开始使用sqlalchemy。不管是什么原因,我都没办法工作 我安装了sqlalchemy,只需导入即可。我试图开始遵循此网站上的代码: 代码如下: import os import sys from sqlalchemy import Column, ForeignKey, Integer, String from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import relatio

我只是想开始使用sqlalchemy。不管是什么原因,我都没办法工作

我安装了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)
我复制并粘贴了代码来创建一个表,我得到了以下错误

sqlalchemy.exc.OperationalError:(sqlite3.OperationalError)无法 打开数据库文件(此错误的背景信息位于: )

我访问了,它似乎相信将pool_pre_ping=True添加到引擎将有助于解决问题。它提到了连接问题,但并不真正理解这是怎么回事,因为它只是在创建sqlite数据库

如果您能就如何解决此问题提供任何建议,我将不胜感激

编辑:我在问题中加入了具体的代码


此外,我还尝试在pythonywhere中执行代码,结果正如预期的那样。任何关于我的机器可能出现问题的指导都将不胜感激。

因此,无论出于何种原因,我都需要指定数据库所在位置的绝对路径。我将我的引擎更新为:

sqlite:///C:\用户\文件\路径\测试.db


这允许它创建数据库。不过,我更希望它只在当前目录中创建数据库。如果有人知道我需要做些什么才能让它发挥作用,那就太好了。

我们要求问题足够独立,可以回答,让其他人足够理解问题,可以从答案中学习,而无需访问任何包含的链接;这样,当外部链接中断时,它们仍然是知识库中有价值的一部分。请在问题本身中添加一个针对您正在询问的问题的标记,并完成异常的完整堆栈跟踪。(这也会删除关于链接页面上的许多代码示例中哪一个是您遇到问题的特定示例的任何问题)。(包括链接是可以的;要求在任何人可以重新创建问题或回答问题之前遵循链接是不行的)。好的,抱歉,我将编辑这个问题。将
sqlite://
更改为
sqlite://
有效吗?Windows不是我的本机平台,但一般来说,第三个
/
是文件名的一部分,因此在UNIX上,它使路径成为绝对路径,而不是相对路径。