如何在已经安装了 python3.8 的情况下在 anaconda 下安装 python2.7 软件包?

时间:2021-03-17 10:08:27

标签: python pip anaconda conda biopython

所以anaconda的默认是python 3.8,但是你可以通过运行python2 a_py_script.py来调用python2。问题来自这样一个事实,即您需要导入东西(比如 biopython),并且您不能导入它们,因为任何 conda install -c conda-forge biopythonpip install biopython 将被理解为自动将其专门插入到 python3.8 包中。 我问这个是因为我有一些需要默认安​​装范围之外的包的 python2.7 脚本,理想情况下我想这样做而不必创建新的 python=2.7 env 并跟踪我需要的一切。

我试过 pip2.7 install biopythonpython2.7 -m pip install biopython 无济于事。可能是我在技术上没有 python 2.7,即使我可以通过 python2 从命令行调用它,因为 python3 自然地具有 some 特别有限的向后兼容性来运行我的python2脚本? (我确实注意到 conda list 只包含 3.8 并且没有提到 2.7)

我尝试克隆我的 env,但我不知道如何以仅交换 python 版本的方式进行克隆。 conda create --name py27test --clone base python=2.7 说的参数太多。我想知道这是否可行,因为我认为我的基本环境完全是基于 v3.8 构建的,因此换出 python 版本将是一个糟糕的时机,因此为什么这似乎不可能?

1 个答案:

答案 0 :(得分:0)

您不能在 conda 环境中混合使用 Python 版本。您可以从环境外部调用 Python 可执行文件,但这对于需要依赖项的任何内容都是不可取的。如果您必须使用 Python 2.7 并需要安装依赖项,则需要在一个包含环境中完成,该环境不会将 Python 3 包混入其中。

如果您关心长期使用 Python 2.7 脚本,您应该考虑现在迁移它们;随着时间的推移,使用不受支持的软件只会越来越难。