What is covered in this tutorial: In this Python tutorial, we explain how to correctly run Spyder Python editor in virtual environments and how to install custom Python packages in Spyder.
Motivation: Although I am big fan of VS Code, I still think that Spyder is easier for the development of scientific software and for debugging. Maybe this is my personal preference due to the fact that I spent a significant amount of time during my PhD working in MATLAB. Since Spyder is developed for scientific computing, for me, Spyder seems like a natural Python development environment.
On the other hand, my suggestion is to use virtual environments whenever you can. By using them, you can have precise control of all the packages that your software relies upon. You can be confident that your software will work on other platforms as long as the required packages and their versions are installed from scratch in the virtual environment. Also, by using virtual environments you can avoid version conflicts with the base Python or Anaconda environments.
However, I have struggled a lot to figure out how to properly run Spyder inside of user-defined virtual environments. Finally, I figured out how to properly configure Spyder such it can recognize the virtual environment and execute the code inside of the virtual environment. I am sharing with you my knowledge and experience, so you can save time and become a more productive developer.
The YouTube tutorial is given below.
Create a Python Virtual Environment and Configure Spyder To Run Inside
First, let us create a workspace folder and a Python virtual environment. Open a Windows Command Prompt and type
cd\
mkdir codes
cd codes
mkdir testSpyder
cd testSpyder
Here, let us crate a Python virtual environment:
python -m venv env1
Then, let us activate that environment by typing:
env1\Scripts\activate.bat
As a practice, let us a NumPy package
pip install numpy
Next, we need to figure out the path and location of the Python executable file inside of our environment. To do that, we need to type this:
python -c "import sys; print(sys.executable)"
This command will list the location of the Python executable file that is run inside of our environment. The output is given below
The Python interpreter file is located in this folder
C:\codes\testSpyder\env1\Scripts>
Memorize this path since you will need it in Spyder.
Next, open Spyder, and click on Tools, and Preferences
You will obtain the menu shown below
Then, select the option “Use the following Python interpreter:”
and enter the path to the Python interpreter inside of the created environment. Then, click OK. Next, for these changes to take the effect, click on Consoles, and click on Restart kernel
After doing this, you will get this error
To fix this error, go back in the terminal, and type
pip install spyder-kernels==2.4.*
Then, close Spyder, and open Spyder again. Then, type the test code and run it inside Spyder.
# -*- coding: utf-8 -*-
"""
Spyder Editor
This is a temporary script file.
"""
import numpy as np
a=np.array([[1,2],[3,4]])
b=np.array([[1,2],[3,4]])
c=np.matmul(a,b)
You will be able to run it inside of the created Environment.