我首先要说的是,我已经讨论了有关此事的多个主题,但尚未找到解决我的问题的方法。
根据我的理解,当 cx_oracle 模块想要加载其依赖项时,它会迭代 PATH 系统环境中的路径,并将加载它找到的第一个依赖项(无论其版本/操作系统兼容性如何)。
我正在一个无法保证 PATH 系统变量不会填充“旧”或不兼容的 Oracle 客户端版本的目录的环境中工作,但我确实有一个新的系统变量,它是保证“指向”正确的目录。
有什么方法可以强制 cx_oracle 模块从该位置加载库吗?
最佳答案
您可以(并且应该尽可能)通过使用类似 virtualenv 的内容对 Python 环境进行沙箱处理来避免系统包版本问题。或pipenv .
如果这不适合您,您可以尝试操纵当前 session 的路径。
import sys
print(sys.path)
这不是我真正推荐的方法,但如果您无法解决这种情况,这可能是最后的选择。
关于python - 设置依赖的加载位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52809987/