如何在conda环境下安装deprecated/unsupported Python 3.4?

How to install deprecated/unsupported Python 3.4 on conda environment?

自从 Python 3.4 弃用后,conda 已将其从包列表中删除。但是,有什么方法可以安装它吗?

我需要它才能使用用这个旧版本编写的软件。

编辑: 我的问题与 suggested duplicate one 不同,因为我指的是已弃用和不受支持的版本。我已经知道如何创建具有特定 python 版本的 conda 环境,但执行:

conda create --name py34env python=3.4

导致错误(列在最后),这是因为缺少Python 3.4 的包。 执行conda search python可以看到目前支持的Python版本,可以确认Python3.4不在列表中。

这是尝试创建 Python 3.4 conda 环境时的错误输出:

$ conda create --name py34env python=3.4
Collecting package metadata (current_repodata.json): done
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  - python=3.4

Current channels:

  - https://repo.anaconda.com/pkgs/main/linux-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/r/linux-64
  - https://repo.anaconda.com/pkgs/r/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

Anaconda dropped it's free channel(从技术上讲,Conda 4.7+ 不再在那里)时,这导致一些从未移植到 main 的旧软件包版本不再可访问。

选项 1:全局启用 free 频道搜索

但是,有一个选项可以恢复对免费频道的访问,即restore_free_channel

# Not generally recommended
conda config --set restore_free_channel True
conda create -n py34 python=3.4

通常不推荐这样做(参见 blog post),但如果您经常使用 Python v3.4 并且需要其他较旧的兼容包,这可能是最佳选择.

选项 2:暂时包含 free 频道

一个更临时的解决方案是使用 ad hoc --channel,-c 参数包含 free 频道。例如,

# slightly better
conda create -n py34 -c defaults -c free python=3.4

请注意,我在 free 之前包含了 defaults,这样只有在无法从前者获取包时才使用后者。这假定 channel_priority 设置设置为 flexible(默认值)。

选项 3:使用 Conda Forge

或者,Conda Forge Python v3.4.5,不会强制您更改全局配置选项。

conda create -n py34 -c conda-forge python=3.4