【问题标题】:Problem upgrading Sqlite3 version on CentOS for Python在 CentOS for Python 上升级 Sqlite3 版本的问题
【发布时间】:2021-01-10 11:31:27
【问题描述】:

我的系统上有CentOS 6,我正在尝试为Python 更新SQLite。我已经从源代码安装它并按预期执行sqlite --version 返回版本3.33.0。

但是,当我尝试使用 import sqlite3; sqlite3.sqlite_version; 检查 python SQLite 版本时,我仍然得到以前的 SQLite 版本 3.6.20。

Software Locations:
     Python 3.6.9 - /usr/bin/python3
     Sqlite3 - /usr/bin/sqlite3

我尝试了解决方案here,这根本不起作用,在更新LD_LIBRARY_PATH 并检查python SQLite 版本后,它仍然给出'3.6.20'和here,当我尝试@987654334 时@,它给了我错误No such file or directory,但是当我在没有sudo LD_RUN_PATH=的情况下执行它时,它成功编译但仍然给我SQLite'3.6.20'(编译python而不卸载)。

注意:我有多个 python3 版本。

我能做些什么来解决这个问题?

【问题讨论】:

  • 你能去/usr/bin/python3运行sqlite3 --version吗?

标签: python python-3.x linux sqlite centos


【解决方案1】:

当我这样做时(特别是试图找到一种方法来更新正在运行的 python 程序的 sqlite3;没有工作......),我编译了 sqlite 并得到了 libsqlite3.so.0.8.6,然后更换了系统-宽的sqlite3。对我来说,在 debian 上,它位于 /usr/lib/x86_64-linux-gnu 中。我确实看到(尽管现在我找不到在哪里)这种方式可能在将来更新时会导致问题。它确实为我更新了 python 的 sqlite3。

【讨论】:

    【解决方案2】:

    您可以导入特定版本:

    __requires__= 'sqlite3==3.6.20'
    import pkg_resources
    pkg_resources.require("sqlite3==3.6.20")
    import sqlite
    

    请注意,这只适用于第一次导入。如果 sqlite 在 pkg_resources 之前被导入,它将采用最新版本。

    【讨论】:

      猜你喜欢
      • 2020-06-09
      • 1970-01-01
      • 2013-09-21
      • 2017-03-30
      • 2018-09-24
      • 1970-01-01
      • 2021-03-12
      • 2018-09-29
      • 2019-02-16
      相关资源
      最近更新 更多