【发布时间】:2020-11-16 03:00:58
【问题描述】:
希望有人可以在这里指出正确的方向。
我有一个在我的 Windows PC 上开发的 python 程序。一切都很好。但是,我需要将其迁移到服务器/Xubuntu VM,并且它不再连接到数据库。我知道这是我配置的驱动程序名称的问题,因为我过去可以通过查看 pyodbc.drivers() 可用的驱动程序来连接它。
Python 版本是 3.7.5。在 pipenv 虚拟环境中运行。已安装所有依赖项。 Windows中的相同配置,它可以工作。 POSTGRESQL 与 pgadmin4 一起在本地安装。
import pyodbc
print(pyodbc.drivers())
返回 'pyodbc' 没有属性驱动程序
print(pyodbc.version)
还返回 'pyodbc' 没有属性版本。
odbcinst -j
返回以下内容:
unixODBC 2.3.6
DRIVERS..........: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
但是 cat/nano /etc/odbcinst.ini 没有显示任何内容,就像文件为空一样。
我只需要知道安装的用于 pyodbc 连接的 ODBC 驱动程序的名称!
【问题讨论】:
-
“我只需要知道 ODBC 驱动程序的名称” - 如果您收到
AttributeError: module 'pyodbc' has no attribute 'version',那么您的问题远不止于此;您的 pyodbc 安装已损坏。 -
你说得对,我认为这是 python 版本的问题。该程序是在 3.7 的 pipenv 中编写的,但正在迁移到的服务器正在运行 3.8。每次我尝试回滚服务器上运行的 Python 版本时,它都会破坏 pip、pipenv 等。
标签: python python-3.x odbc pyodbc