Flask sqlalchemy显示与os.getenv()相关的错误

Flask sqlalchemy显示与os.getenv()相关的错误,flask,sqlalchemy,Flask,Sqlalchemy,我正在研究sqlalchemy,它的引擎中有命令- 创建_engineos.getenvDATABASE_URL 当我运行程序时,它显示一个错误,上面写着—— 无法从字符串“C:\Program Files\PostgreSQL\10\data”分析rfc1738 URL 代码 错误 回溯最近一次调用:文件list.py,第7行,在 engine=create\u engineos.getenvDATABASE\u URL文件C:\Users\Amber Bhanarkar\AppData\Lo

我正在研究sqlalchemy,它的引擎中有命令- 创建_engineos.getenvDATABASE_URL

当我运行程序时,它显示一个错误,上面写着——

无法从字符串“C:\Program Files\PostgreSQL\10\data”分析rfc1738 URL

代码

错误

回溯最近一次调用:文件list.py,第7行,在 engine=create\u engineos.getenvDATABASE\u URL文件C:\Users\Amber Bhanarkar\AppData\Local\Programs\Python\Python36\lib\site packages\sqlalchemy\engine\uuuu init\uuuu.py, 创建引擎中的第424行 return strategy.create*args,**kwargs文件C:\Users\Amber bhanakar\AppData\Local\Programs\Python\Python36\lib\site packages\sqlalchemy\engine\strategies.py, 第50行,在“创建”中 u=url.make_urlname_或_url文件C:\Users\Amber Bhanarkar\AppData\Local\Programs\Python\Python36\lib\site packages\sqlalchemy\engine\url.py, 第211行,在make_url中 返回\u parse\u rfc1738\u argsname\u或\u url文件C:\Users\Amber Bhanarkar\AppData\Local\Programs\Python\Python36\lib\site packages\sqlalchemy\engine\url.py, 第270行,在_parse_rfc1738_args中 无法从字符串“%s”%name sqlalchemy.exc.ArgumentError分析rfc1738 URL:无法从字符串分析rfc1738 URL 'C:\Program Files\PostgreSQL\10\data'


请有人帮我解决这个问题。

引擎URL不应该是指向本地Postgres安装的路径,而是告诉SQLAlchemy如何连接到数据库的提示。其格式如下:

postgresql://username:password@server:port/databasename

我现在也在看cs50的课程视频。你应该试着只使用create_enginey你的数据库_url

如果仍要使用create_engineos.getenvDATABASE_URL tp进程,请确保可以使用命令行(如psql$DATABASE_URL)登录

使用psql$DATABASE\u URL对我来说很有效,但是我在create\u engineyour\u DATABASE\u URL上仍然遇到同样的错误

但确实,将url直接放在create_engine函数中工作起来很奇怪,因为它确实是一个返回的字符串

sqlalchemy.exc.ArgumentError: Could not parse rfc1738 URL from string ' 'postgresql://openpg:openpgpwd@localhost:5432/postgres''

使用上面的语句,我得到一个错误,说-AttributeError:'NoneType'对象没有属性'\u实例化\u插件'
(project1) C:\Users\Gregory Goufan\Downloads\CS50s Web Programming with Python and JavaScript\project1\project1\project1>psql postgresql://openpg:openpgpwd@localhost:5432/postgres
psql (9.5.8)
WARNING: Console code page (437) differs from Windows code page (1252)
         8-bit characters might not work correctly. See psql reference
         page "Notes for Windows users" for details.
Type "help" for help.

postgres=#
sqlalchemy.exc.ArgumentError: Could not parse rfc1738 URL from string ' 'postgresql://openpg:openpgpwd@localhost:5432/postgres''