【问题标题】:installing Pyodbc with Jython?用 Jython 安装 Pyodbc?
【发布时间】:2015-10-10 11:13:16
【问题描述】:

平台:Windows 7(64 位),Jython 版本 2.7.10“最终版本”。
目前使用 java.sql 类访问 MS Access 数据库。

在未来的某个时候,我想迁移到 Linux。在未来的某个时候,我想迁移到 MySQL/MariaDB...

我认为使用更 Pythonic 的方式会更好,而且似乎 Pyodbc 可能是要走的路。

这是我尝试使用 pip 安装它:

D:\apps\jython2.7.0\bin>pip install pyodbc
Downloading/unpacking pyodbc
  Downloading pyodbc-3.0.10.tar.gz (68kB): 68kB downloaded
  Running setup.py (path:C:\Users\Chris\AppData\Local\Temp\pip_build_Chris\pyodb
c\setup.py) egg_info for package pyodbc

    warning: no files found matching 'tests\*'
    warning: no files found matching 'README.rst'
Installing collected packages: pyodbc
  Running setup.py install for pyodbc
    building 'pyodbc' extension
    error: Compiling extensions is not supported on Jython
    Complete output from command D:\apps\jython2.7.0\bin\jython.exe -c "import s
etuptools, tokenize;__file__='C:\\Users\\Chris\\AppData\\Local\\Temp\\pip_build_
Chris\\pyodbc\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).
read().replace('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\Chri
s\AppData\Local\Temp\pip-xb4a39-record\install-record.txt --single-version-exter
nally-managed --compile:
    running install

running build

running build_ext

building 'pyodbc' extension

error: Compiling extensions is not supported on Jython

----------------------------------------
Cleaning up...
←[31mCommand "D:\apps\jython2.7.0\bin\jython.exe -c "import setuptools, tokenize
;__file__='C:\\Users\\Chris\\AppData\\Local\\Temp\\pip_build_Chris\\pyodbc\\setu
p.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\
n', '\n'), __file__, 'exec'))" install --record C:\Users\Chris\AppData\Local\Tem
p\pip-xb4a39-record\install-record.txt --single-version-externally-managed --com
pile" failed with error code 1 in C:\Users\Chris\AppData\Local\Temp\pip_build_Ch
ris\pyodbc
←[0m←[31mStoring debug log for failure in C:\Users\Chris\.pip\pip.log
←[0m
D:\apps\jython2.7.0\bin>

有人知道这是否可以补救/解决吗?
任何人对使用 Jython 访问 dbase 的 Pythonic 访问有其他建议吗?

【问题讨论】:

    标签: python ms-access jython pyodbc


    【解决方案1】:

    当您迁移到 Linux 时,您将不再有可用的 Microsoft Access ODBC 驱动程序(它仅适用于 Windows)。还有其他 ODBC 选项可用于在非 Windows 平台上使用 Access 数据库,但它们可能不太理想。

    对于真正的跨平台解决方案,您可以将 Jython 与 UCanAccess JDBC 驱动程序一起使用,如此处另一个答案中所述:

    Read an Access database in Python on non-Windows platform (Linux or Mac)

    【讨论】:

      【解决方案2】:

      既然您正在运行 Jython,那么您就进入了 Java 世界。那是JDBC; ODBC 用于 C (CPython) 世界中的项目。而不是使用 pyodbc,你需要这个:

      http://www.jython.org/archive/21/docs/zxjdbc.html

      除非您使用 CPython(“标准默认”版本),否则 pyodbc 将无法工作。您使用 Jython 有什么特别的原因吗?大多数人只有在真正需要 JVM 或特定的 JAR/WAR 时才使用它。

      【讨论】:

      • 感谢您提供的链接...我完全致力于 Jython,因为这样您可以两全其美。加上真正的并发......加上所有数千个设计精美的 Java 类......加上所有库、实用程序类等,都在 Java 和 Python 生态系统中。我只希望 Jython 的天才们迟早会推出 Jython 3!
      猜你喜欢
      • 2017-11-11
      • 2022-01-02
      • 2017-11-19
      • 1970-01-01
      • 2015-03-17
      • 1970-01-01
      • 2016-09-09
      • 2011-08-15
      • 2013-03-05
      相关资源
      最近更新 更多