尝试使用SQLAlchemy格式化数据库,但是当我在元数据上运行create_all时,出现上述错误。我使用以下路径为用户Tyre77创建了引擎:
engine = create_engine('sqlite:////tyre77/OmniCloud/database.db')
我已经走了过去,那条路上有一个'database.db'文件,但也许我打错了?
答案 0 :(得分:36)
你提到它是OS X上用户tyre77的路径,所以不应该是sqlite:////Users/tyre77/OmniCloud/database.db
吗?
此外,相对路径有三个斜杠,绝对路径有四个。
答案 1 :(得分:3)
我在Windows 8.1中遇到了同样的问题。 基于sqlalchemy文档:
sqlite:////db_absolute_path
sqlite:///db_relative_path
(注意上面的第二行只有3个斜杠) 在我的情况下,提供相对路径有帮助。
答案 2 :(得分:1)
在阅读sqlite urls here上的文档后,我确定你有正确数量的斜杠。显然,它使用相同的解析器来拉出作为远程连接引擎的路径,因此在第二个和第三个斜杠之间的“服务器名称”留空。
如果您想指定绝对路径,那么您将以正确的方式进行操作。检查以确保您提供绝对路径。三个斜杠可能能够指定相对路径,但您需要知道应用程序的当前工作目录,这可能会在您延迟应用程序时中断。
答案 3 :(得分:-3)
我通过将正斜杠(“ sqlite:///”)的数量从4个减至3个来解决了该错误