Installing Python packages in Visual Studio

Although Visual Studio 2019 comes with a complete basic Python installation, there are many third-party packages that you may wish to use, so it’s useful to know how to install these. Here we’ll give a couple of examples. First, we’ll show how to install matplotlib, which is a package that shows plots of mathematical functions.

Installing a new Python package

Create a new Python project in Visual Studio. Enter the following code into the main code window (usually at the upper left):

from math import radians
import numpy as np     # installed with matplotlib
import matplotlib.pyplot as plt

def main():
    x = np.arange(0.01, radians(1800), radians(12))
    plt.plot(x, np.sin(x)/x, 'Goldenrod')
    plt.show()

main()

Don’t worry about the details of the code for now; we’ll cover this in future posts. This code should show a plot of the function \frac{\sin {x}}{x} for x between 0.01 (to avoid dividing by zero) up to 1800 degrees, with a spacing between plot points of 12 degrees . The final argument in the np.arange() function specifies the colour of the plot, using one of the standard HTML colour names.

If you don’t have matplotlib installed, the editor will underline the terms numpy, matplotlib and pyplot in lines 2 and 3 and complain that they are unknown. To install them, follow these steps:

In Visual Studio’s View menu, select View>Other windows>Python environments. This should open a panel on the right that looks like this:

Don’t worry if your panel doesn’t look exactly like this; the Python environments listed depend on how many you have installed. If you installed Visual Studio with just the default Python environment, you’ll probably have only Python 3.7 installed.

Next, click on the drop down menu labelled Overview. You should see an option called ‘Packages’, as shown:

Select this, and you should then get a box with the text ‘Search PyPl and installed packages’. Type ‘matplotlib’ into this box and you should see a list of options containing this term. Click on ‘Install matplotlib’. You should then see the Package Manager Console giving reports of progress in the installation process (which might take a couple of minutes so be patient).

When it’s done, you can then run the above program and, hopefully, see this output:

Installing a different version of Python

One of the annoying things about Python is that different versions support different features and, sometimes, actually break code that was written in an earlier version. If you want to test your code in a different version than the one in which it was written, you can install a different version of Python in Visual Studio.

To do this, click on ‘Add Environment…’ in the Python Environments panel shown above. In the dialog box that appears, select ‘Python installation’ on the left, and you’ll see a list of available Python versions that you can install, along with those that are already installed. Select one or more of these versions and then click the ‘Install’ button at the lower right. You’ll need administrator privileges to do this.

Let’s say you’ve decided to install Python version 2.7 alongside the default Python 3.7 and you want to test your program using 2.7. On Visual Studio’s Project menu, select Project>[Project name] properties, where [Project name] is whatever you’ve called your project. You’ll then get window with tabs named ‘General’, ‘Debug’, ‘Publish’ and ‘Test’ on the left. On the General tab, select the Python interpreter you want from the drop down menu at the bottom. Make sure you save the change before running your program. (Click Ctrl+S or the Save icon in the toolbar.) You can then run your project to see what happens.

If you try this on the plotting program above, you’ll probably get an error complaining that matplotlib doesn’t exist. This is because installing a Python package applies only to one version of Python, so above we installed matplotlib for Python 3.7 but not for 2.7. If you want your program to work with 2.7, you’ll need to repeat the above steps to install matplotlib for 2.7 as well.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.