无法使用带有 pythonista 应用程序的 psycopg2 访问 postgreSQL 数据库

Unable to access postgreSQL database using psycopg2 with pythonista app

我是一个相对较新的编程人员,我正在开发一个应用程序,该应用程序利用 AWS RDS PostgreSQL 数据库允许我在我的设备上创建或更新应用程序的信息,特别是在我 2016 年 Windows 之间10 surfacebook 和我的 iphone 8+.

使用 psycopg2,我可以使用我的 surfacebook 相对轻松地连接到我的数据库。然而,我现在正在尝试使用 Pythonista 应用程序(一个 python 的 Iphone 解释器,允许您创建和执行 python 程序)开发移动对应物,并且 运行 遇到问题psycopg2 模块。

使用 StaSh 终端(允许在移动设备上安装 pip 的 Pythonista 脚本)我使用 pip install psycopg2 安装了 psycopg2 但是当我尝试 运行 程序时:

import psycopg2

conn = psycopg2.connect(
    host="localhost",
    database="database",
    user="user",
    password="password"
)
c = conn.cursor()

def list_all_accounts():
    with conn:
    c.execute("SELECT * FROM table")
        result = c.fetchall()
    return result

import pprint
pprint.pprint(list_all_accounts())

我得到了一个ModuleNotFoundError 完整追溯:

  File "/private/var/mobile/Containers/Shared/AppGroup/60906921-DCB6-478D-898E-EDA48296C57C/Pythonista3/Documents/my-apps/Pandle/model.py", line 9, in <module>
    import psycopg2
  File "/private/var/mobile/Containers/Shared/AppGroup/60906921-DCB6-478D-898E-EDA48296C57C/Pythonista3/Documents/site-packages-3/psycopg2/__init__.py", line 51, in <module>
    from psycopg2._psycopg import (                     # noqa
ModuleNotFoundError: No module named 'psycopg2._psycopg'

当我检查安装的模块时,在 psycopg2 目录中确实没有名为 _psycopg 的模块。

我也试过使用 pip install pyscopg2-binary 也没有用。我想知道是否有人知道我是否可以使用 pyscopg2 使用 Pythonista 访问远程 AWS PostgreSQL 数据库,或者 Pythonista 本身是否有某种我在这方面不知道的限制。感谢您的帮助。

Pythonista 不支持 pip 安装二进制文件,也没有 C 代码编译器。

有一个纯粹的 Python 替代方案 pg8000 which at least 1 Pythonista user has reported 可以工作。