Search code examples
pythonpython-3.xvirtualenvanacondaspyder

How to run Spyder in virtual environment?


I have been using Spyder installed with with Anaconda distribution which uses Python 2.7 as default. Currently I need to set up a development virtual environment with Python 3.4.

Top two suggestions after research online are:

  1. to set up virtual environment first and to point change the preferences of Spyder , e.g here;
  2. to install all Spyder dependencies, like PyQt4, in the virtual environment itself, e. g. here ;

Both recommendations are cumbersome and do not look like smart options for development.

Is there a solution that would allow to run Spyder with required Python version automatically after activating the required virtual environment?


Solution

  • There is an option to create virtual environments in Anaconda with required Python version.

    conda create -n myenv python=3.4
    

    To activate it :

    source activate myenv   # (in linux, you can use . as a shortcut for "source")
    activate myenv          # (in windows - note that you should be in your c:\anaconda2 directory)
    

    UPDATE. I have tested it with Ubuntu 18.04. Now you have to install spyder additionally for the new environment with this command (after the activation of the environment with the command above):

    conda install spyder
    

    (I have also tested the installation with pip, but for Python 3.4 or older versions, it breaks with the library dependencies error that requires manual installation.)

    And now to run Spyder with Python 3.4 just type:

    spyder
    

    Spyder with Python 3.4

    EDIT from a reader:

    For a normal opening, use "Anaconda Prompt" > activate myenv > spyder (then the "Anaconda Prompt" must stay open, you cannot use it for other commands, and a force-close will shut down Spyder). This is of course faster than the long load of "Anaconda Navigator" > switch environment > launch Spyder (@adelriosantiago's answer).