如何使用Spyder和Python 2.7安装conda环境?

hir*_*hme 3 python spyder anaconda conda

就像这样简单的事情:

conda create -n py2 python=2.7
Run Code Online (Sandbox Code Playgroud)

然后在那个环境下

conda install spyder=3
Run Code Online (Sandbox Code Playgroud)

未能解决环境问题。虽然这里唯一的东西是 python=2.7 basics 和spyder=3,它们在他们自己的网站上指定需要 python 2.7 https://www.psych.mcgill.ca/labs/mogillab/anaconda2/lib/python2.7/site-包/spyder/doc/installation.html#requirements

为什么会失败?如何才能让这么基本的东西发挥作用?

新的尝试:(最后一个是我知道可以一起工作的特定版本,因为我将它们安装在我的主系统范围内)。

conda create -n py2 python=2.7 spyder                    --> Fails to solve env

conda create -n py2 python=2.7 spyder -c free            --> installs spyder4

conda create -n py2 python=2.7 spyder=3 -c free          --> AttributeError on launch

conda create -n py2 python=2.7.17 spyder=3.2.3 -c free   --> AttributeError on launch
Run Code Online (Sandbox Code Playgroud)

全部失败。如果我不指定spyder=3,conda会安装spyder=4,这是不行的,因为这些版本的python和spyder不能一起工作(为什么conda在检查兼容性时不知道这一点?)。当指定spyder=3时,环境无法解决,除非使用channel free,如评论中所建议的。但是这个方法在启动Spyder时也会失败,抛出AttributeErrors。

mer*_*erv 5

我在启动时遇到了一些 Qt 问题,似乎可以通过修复qtawesome旧版本来解决。这是适合我的最终规范(osx-64):

conda create -n py2 --override-channels -c conda-forge python=2.7 spyder=3.3 qtawesome=0.7
Run Code Online (Sandbox Code Playgroud)

或作为 YAML

py2.yaml

name: py2
channels:
  - conda-forge
dependencies:
  - python=2.7
  - spyder=3.3
  - qtawesome=0.7
Run Code Online (Sandbox Code Playgroud)

  • @hirschme 尝试和错误。首先,我假设 Conda Forge 频道拥有所有必需的软件包(它们是为此而设计的,并且正在为 Python 2 日落前构建 Spyder)。其次,我一开始只是做了 `spyder=3` 和 `python=2.7`,但看到它选择了一个不必要的旧版本,所以我强制 `spyder=3.3`。接下来,“qtawesome”代码中存在 Python 错误,并认为没有良好的上限约束,因此只选择了至少在 2020 年之前的最新版本(Python 2 日落),假设它当时一定可以工作,因此“qtawesome=0.7”。 (2认同)