J0A*_*NMM 6 python postgresql psycopg2 heroku python-3.x
几天来,我一直在尝试将我的 python 3 脚本连接到psycopg2
Heroku 中的PostgresSQL 数据库(),而无需使用 Django。
我找到了一些文章和相关问题,但我不得不投入大量时间来获得一些我认为应该非常简单的东西,即使对于我这样的新手也是如此。
我最终让它以某种方式工作,但希望发布问题(和答案)将帮助其他人更快地实现它。
当然,如果有人有更好的方法,请分享。
正如我所说,我有一个 python 脚本,我想让它使用 Heroku 从云中运行。不涉及 Django(只是一个脚本/刮板)。
一开始我觉得很有帮助的文章,即使它们还不够:
J0A*_*NMM 10
主要步骤:
1.Procfile
Procfile
必须:
worker: python3 folder/subfolder/myscript.py
Run Code Online (Sandbox Code Playgroud)
2. Heroku 插件
附加Heroku Postgres :: Database
已被添加到在Heroku的帐户适当的个人应用。
为了确保正确设置,这非常有帮助。
3. 带db连接的Python脚本
最后,为了在我的 python 脚本中创建连接myscript.py
,我将这篇文章作为参考并将其改编为 Python 3:
import psycopg2
import urllib.parse as urlparse
import os
url = urlparse.urlparse(os.environ['DATABASE_URL'])
dbname = url.path[1:]
user = url.username
password = url.password
host = url.hostname
port = url.port
con = psycopg2.connect(
dbname=dbname,
user=user,
password=password,
host=host,
port=port
)
Run Code Online (Sandbox Code Playgroud)
要创建一个新数据库,this SO question解释了它。关键线是:
con.set_isolation_level(ISOLATION_LEVEL_AUTOCOMMIT)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8226 次 |
最近记录: |