【问题标题】:Is there a way to install python 3 and python 2 in the same conda environment?有没有办法在同一个 conda 环境中安装 python 3 和 python 2?
【发布时间】:2019-10-03 04:15:19
【问题描述】:

我正在尝试创建一个管道,但我需要的其中一个包仅使用 python2。我希望所有东西都安装在同一个环境中,所以当我将管道发送给人们时,我可以给他们一个conda create --name pipeline_env blah blah blah

是否可以这样做但将python3 作为默认python 版本但将python2 作为bin 中的可执行文件?

【问题讨论】:

标签: python installation version conda


【解决方案1】:

不,这是不可能的。在 conda 环境的顶层,您将拥有一个 python 可执行文件:

/env_name
  - python (or python.exe on Windows)

要求 conda 将 python v2 安装到环境中会将 python 3.x 可执行文件替换为 2.7.x 版本的 python。

但是,您可以现有环境中创建一个新的 conda 环境。这会很奇怪,但你可以这样做以保持封装。

conda create -n pipeline_env blah blah blah
conda create -p /path/to/pipeline_env/subenv/pipline_v2

【讨论】:

  • 我不明白为什么这不是天生不可能的。显然,python 可执行文件必须引用一个版本或另一个版本(可能是 3 个),但这并不意味着您不能在同一环境中也有 python2 可执行文件。 Python 的特定于版本的目录中都有版本号,所以唯一的冲突是那个可执行文件。但是,我不知道是否有一种简单的方法可以使用conda install 进行设置
  • 对不起。但我不太可能尝试。 Python 2 很快就会消失,对于我的用例,还有其他方法可以解决这个问题。
【解决方案2】:

如果可以的话,包可以迁移到python3吗?这是一些有关相同内容的python文档 https://docs.python.org/2/library/2to3.html

或者,使用 rpc / http 访问模块(开销 - 不是一个好主意) 1.包装你的python2并使用rpc执行 2.使用flask或其他微框架并调用你的包

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-30
    • 1970-01-01
    • 2020-08-18
    • 2018-08-14
    • 2023-03-13
    相关资源
    最近更新 更多