所以anaconda的默认是python 3.8,但是你可以通过运行python2 a_py_script.py
来调用python2。问题来自这样一个事实,即您需要导入东西(比如 biopython),并且您不能导入它们,因为任何 conda install -c conda-forge biopython
或 pip install biopython
将被理解为自动将其专门插入到 python3.8 包中。
我问这个是因为我有一些需要默认安装范围之外的包的 python2.7 脚本,理想情况下我想这样做而不必创建新的 python=2.7
env 并跟踪我需要的一切。
我试过 pip2.7 install biopython
和 python2.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 版本将是一个糟糕的时机,因此为什么这似乎不可能?
答案 0 :(得分:0)
您不能在 conda 环境中混合使用 Python 版本。您可以从环境外部调用 Python 可执行文件,但这对于需要依赖项的任何内容都是不可取的。如果您必须使用 Python 2.7 并需要安装依赖项,则需要在一个包含环境中完成,该环境不会将 Python 3 包混入其中。
如果您关心长期使用 Python 2.7 脚本,您应该考虑现在迁移它们;随着时间的推移,使用不受支持的软件只会越来越难。