user3731622
user3731622

Reputation: 5095

Conda fails to update Spyder dependencies

When I called

conda update spyder

and then opened spyder, I got the following error.

enter image description here

Is conda update supposed to install dependencies for the package being updated?

What is the best way to fix the issue?

Should I just call conda install jedi?

Upvotes: 3

Views: 1786

Answers (1)

Nehal J Wani
Nehal J Wani

Reputation: 16619

This is happening because the repodata.json of the defaults channel (win-64) of Conda, specifies jedi>=0.8:

"spyder-3.0.0-py34_0.tar.bz2": {
      "app_entry": "spyder",
      "app_type": "desk",
      "build": "py34_0",
      "build_number": 0,
      "date": "2016-09-26",
      "depends": [
        "jedi >=0.8",
        "nbconvert",
        "pep8",
        "pickleshare",
        "psutil",
        "pyflakes",
        "pygments >=2.0",
        "pylint",
        "pyqt 5.*",
        "python 3.4*",
        "pyzmq",
        "qtawesome",
        "qtconsole >=4.2",
        "qtpy >=1.1",
        "rope",
        "sphinx"
      ],
      "icon": "9779607c273dc0786bd972b4cb308b58.png",
      "license": "MIT",
      "md5": "1e22cec14b87602a6338a3c46b7991ed",
      "name": "spyder",
      "size": 3050583,
      "summary": "Scientific Python Development Environment",
      "type": "app",
      "version": "3.0.0"
    },

Now, in the spider repo, at tag v3.0.0, the there is no minimum version of jedi specified at

install_requires = [
    'rope_py3k' if PY3 else 'rope>=0.9.4',
    'jedi',
    'pyflakes',
    'pygments>=2.0',
    'qtconsole>=4.2.0',
    'nbconvert',
    'sphinx',
    'pep8',
    'pylint',
    'psutil',
    'qtawesome',
    'qtpy>=1.1.0',
    'pickleshare',
    'pyzmq'
]

The commit to fix this was brought in spyder on Sunday, 5 Feb 2017 and was released in v3.1.3, which has not been added to the defaults channel of Conda as of Friday, 10 March 2017.

Because of the aforementioned reasons, the upgrade did not update the dependency on jedi.

Since jedi=0.9.0 is available in the defaults Conda channel, you should be able to get rid of this problem just by doing:

conda update jedi

Upvotes: 3

Related Questions