安装和导入 Python 包的多个版本
Posted
技术标签:
【中文标题】安装和导入 Python 包的多个版本【英文标题】:Installing and importing multiple versions of a Python package 【发布时间】:2020-05-20 00:01:02 【问题描述】:我正在使用使用 pandas==0.23
的 Dataiku DSS v6.0,并且无法手动升级。我也在尝试使用modin==0.6
,它只与pandas==0.25
兼容。我曾尝试使用需要pandas==0.23
的modin==0.3
,但这个旧版本使用我正在调用的一些pandas 方法会引发异常。
有什么解决方法吗?我可以以某种方式强制modin==0.6
接受pandas==0.23
吗?否则有什么方法可以同时安装pandas==0.23
和pandas==0.25
并强制DSS 使用0.23 和modin 使用0.25?
【问题讨论】:
这对https://github.com/mitsuhiko/multiversion有帮助吗? 这个包是为 Python 2.x 构建的,我使用的是 3.6.4,所以 pip3 找不到包。另外,我不相信使用 9 年未更新的软件包! 我找不到任何相关的解决方案。这个article 谈到了这类问题。我会研究这个主题,也许我会自己编写一个解决方案。 这可能是可能的,但据我所知,这会很困难。 Mitsuhiko 的multiversion 是一种有趣的方法。你也可以试试看你能走多远:"Multi-version installs" from PyPA's Python Packaging User Guide。否则,通过使用importlib 破解一些自定义导入器,这里有一些示例:pymotw.com/3/sys/imports.html#custom-importers 【参考方案1】:从 DSS 8.0.0 Pandas 1.0 is supported开始
但是,modin
的最新版本依赖于pandas
的更新版本; modin==0.8.0
允许 pandas==1.0.5
以便最新版本的 modin
与今天的 DSS 兼容
【讨论】:
【参考方案2】:Dataiku 提供了 code environments 的概念。通过使用此功能,您可以为自己的代码或其他特定操作设置一组独立的依赖项。
【讨论】:
以上是关于安装和导入 Python 包的多个版本的主要内容,如果未能解决你的问题,请参考以下文章