【发布时间】:2021-09-28 04:19:03
【问题描述】:
在 Linux 服务器上,我有一些使用内置 sqlite3 模块的 Python 脚本(+ 一些从源代码构建的 Sqlite 扩展,详见 Upgrade Python's sqlite3 on Debian)。
对于另一个 Python 脚本,我需要一个 更新版本的 Sqlite 共享库,而不是系统上已有的。原因:我需要Sqlitehigher than 3.25.0 for Window Functions。
如果我安装它from source here 并执行make 和make install,它可能会覆盖服务器上此库的先前版本,并且可能会破坏使用它的其他操作系统工具。
您如何处理拥有多个版本的 Sqlite 共享库的一般问题?
我认为 Python 虚拟环境不能用于这种情况,或者有可能吗?
注意:pip3 install --upgrade sqlite3 不存在:我们不能像这样升级 Python 内置的 sqlite3 包。顺便说一句,我们可能不应该这样做,因为它可能会破坏一些使用 Python + sqlite3 的操作系统工具。
【问题讨论】:
-
容器? docker 还是 lxd?
-
没办法你在
system_modules和customized_modules上有一个failure,因为如果相关的库使用相同的name_space! -
只是为了确定,看看你的 Python 附带的 sqlite3 库版本。只需执行:
python -c "import sqlite3; print(sqlite3.connect(':memory:').execute('SELECT sqlite_version();').fetchall())"
标签: python sqlite python-venv