我使用 python 和 postgreql 已经一年多了。我可以通过盲目使用各种库来连接和使用 postgres 数据库。但是每当我改变平台(最近从 macOS 笔记本电脑到远程 ubuntu 服务器)时,我都会经历一天左右的时间来尝试让库工作,例如。我在某些模块中使用了“pyodbc”,但是当我将代码迁移到服务器时,我不得不切换到“pg8000”,因为这些模块一直在抛出错误。
有人可以解释或指向一个链接,解释 python 如何连接到 dB 的吗?例如,为什么我需要一个用于“pyodbc”的 MS ODBC 驱动程序来连接到 Azure SQL 或 postgresql,但“pg8000”似乎根本不需要连接到 postgresql?当我移动到 Ubuntu 环境并安装 ODBC 驱动程序时,它们显示在 /etc 和 /opt(用于 MS ODBC)下的根目录下,但也出现在我的 Conda 环境(/anaconda3/envs/)中,我不知道哪个是'ODBC.ini' 的正确选择?
就像我说的,我可以让事情发挥作用,但我真的不明白它们为什么会发挥作用,这意味着我每次处理环境变化时都会浪费时间进行试验。我还没有在网上找到一个解释,它涵盖的不仅仅是一个非常具体的情况,例如。'这里是如何安装我们的驱动程序......'任何帮助将不胜感激。
最终更新:
跟随回应特别是。@Thompson 下图似乎是最终解释,我对在哪里寻找答案有了更好的了解。对于记录 pyodbc,SQLAlchemy 和 pg8000 一直是我选择的工具,除了问题中所述之外没有任何问题。