C库有一种很好的后期绑定形式,其中记录了链接期间使用的库的确切版本,因此即使安装了同一个库的多个版本,可执行文件也可以找到正确的文件.
可以在Python中完成相同的操作吗?
更具体地说,我使用的是一个使用某些第三方库的Python项目,例如paramiko.Paramiko现在是版本1.7.4,但是一些发行版带有它的旧版本,同时提供大约相同版本的Python解释器.
当然,我想支持尽可能多的配置,而不仅仅是最新的发行版.但是,如果我从旧的发行版提供的升级paramiko的版本,我1)使包管理器的生活变得困难2)由于库版本中的不兼容性可能会破坏一些现有的应用程序3)如果包管理器可能会破坏决定覆盖我的自定义安装.
是否有可能在Python中干净地解决这个问题?(即,我将如何进行设置,以及代码应该是什么样的).理想情况下,它只需在site_libraries中安装多个版本的库,让我的脚本选择正确的版本,而不是使用一组手动安装的库来维护私有目录.
PS:我可以将Python程序编译成二进制文件,携带所有必需的依赖项,但它有点违背使用发行版提供的解释器的想法.我在Windows上做到了.