Changing the default python executable's version system-wide could break some applications that depend on python2. However, you can alias the commands in most shells, Since the default shells in macOS (bash in 10.14 and below; zsh in 10.15) share a similar syntax.

-->

The following is a step-by-step guide for beginners interested in learning Python using Windows 10.

Set up your development environment

For beginners who are new to Python, we recommend you install Python from the Microsoft Store. Installing via the Microsoft Store uses the basic Python3 interpreter, but handles set up of your PATH settings for the current user (avoiding the need for admin access), in addition to providing automatic updates. This is especially helpful if you are in an educational environment or a part of an organization that restricts permissions or administrative access on your machine.

If you are using Python on Windows for web development, we recommend a different set up for your development environment. Rather than installing directly on Windows, we recommend installing and using Python via the Windows Subsystem for Linux. For help, see: Get started using Python for web development on Windows. If you're interested in automating common tasks on your operating system, see our guide: Get started using Python on Windows for scripting and automation. For some advanced scenarios (like needing to access/modify Python's installed files, make copies of binaries, or use Python DLLs directly), you may want to consider downloading a specific Python release directly from python.org or consider installing an alternative, such as Anaconda, Jython, PyPy, WinPython, IronPython, etc. We only recommend this if you are a more advanced Python programmer with a specific reason for choosing an alternative implementation.

Install Python

To install Python using the Microsoft Store:

  1. Go to your Start menu (lower left Windows icon), type 'Microsoft Store', select the link to open the store.

  2. Once the store is open, select Search from the upper-right menu and enter 'Python'. Open 'Python 3.7' from the results under Apps. Select Get.

  3. Once Python has completed the downloading and installation process, open Windows PowerShell using the Start menu (lower left Windows icon). Once PowerShell is open, enter Python --version to confirm that Python3 has installed on your machine.

  4. The Microsoft Store installation of Python includes pip, the standard package manager. Pip allows you to install and manage additional packages that are not part of the Python standard library. To confirm that you also have pip available to install and manage packages, enter pip --version.

Install Visual Studio Code

By using VS Code as your text editor / integrated development environment (IDE), you can take advantage of IntelliSense (a code completion aid), Linting (helps avoid making errors in your code), Debug support (helps you find errors in your code after you run it), Code snippets (templates for small reusable code blocks), and Unit testing (testing your code's interface with different types of input).

VS Code also contains a built-in terminal that enables you to open a Python command line with Windows Command prompt, PowerShell, or whatever you prefer, establishing a seamless workflow between your code editor and command line.

  1. To install VS Code, download VS Code for Windows: https://code.visualstudio.com.

  2. Once VS Code has been installed, you must also install the Python extension. To install the Python extension, you can select the VS Code Marketplace link or open VS Code and search for Python in the extensions menu (Ctrl+Shift+X).

  3. Python is an interpreted language, and in order to run Python code, you must tell VS Code which interpreter to use. We recommend sticking with Python 3.7 unless you have a specific reason for choosing something different. Once you've installed the Python extension, select a Python 3 interpreter by opening the Command Palette (Ctrl+Shift+P), start typing the command Python: Select Interpreter to search, then select the command. You can also use the Select Python Environment option on the bottom Status Bar if available (it may already show a selected interpreter). The command presents a list of available interpreters that VS Code can find automatically, including virtual environments. If you don't see the desired interpreter, see Configuring Python environments.

  4. To open the terminal in VS Code, select View > Terminal, or alternatively use the shortcut Ctrl+` (using the backtick character). The default terminal is PowerShell.

  5. Inside your VS Code terminal, open Python by simply entering the command: python

  6. Try the Python interpreter out by entering: print('Hello World'). Python will return your statement 'Hello World'.

Install Git (optional)

If you plan to collaborate with others on your Python code, or host your project on an open-source site (like GitHub), VS Code supports version control with Git. The Source Control tab in VS Code tracks all of your changes and has common Git commands (add, commit, push, pull) built right into the UI. You first need to install Git to power the Source Control panel.

  1. Download and install Git for Windows from the git-scm website.

  2. An Install Wizard is included that will ask you a series of questions about settings for your Git installation. We recommend using all of the default settings, unless you have a specific reason for changing something.

  3. If you've never worked with Git before, GitHub Guides can help you get started.

Hello World tutorial for some Python basics

Python 3 For Mac

Python, according to its creator Guido van Rossum, is a “high-level programming language, and its core design philosophy is all about code readability and a syntax which allows programmers to express concepts in a few lines of code.”

Python is an interpreted language. In contrast to compiled languages, in which the code you write needs to be translated into machine code in order to be run by your computer's processor, Python code is passed straight to an interpreter and run directly. You just type in your code and run it. Let's try it!

  1. With your PowerShell command line open, enter python to run the Python 3 interpreter. (Some instructions prefer to use the command py or python3, these should also work). You will know that you're successful because a >>> prompt with three greater-than symbols will display.

  2. There are several built-in methods that allow you to make modifications to strings in Python. Create a variable, with: variable = 'Hello World!'. Press Enter for a new line.

  3. Print your variable with: print(variable). This will display the text 'Hello World!'.

  4. Find out the length, how many characters are used, of your string variable with: len(variable). This will display that there are 12 characters used. (Note that the blank space it counted as a character in the total length.)

  5. Convert your string variable to upper-case letters: variable.upper(). Now convert your string variable to lower-case letters: variable.lower().

  6. Count how many times the letter 'l' is used in your string variable: variable.count('l').

  7. Search for a specific character in your string variable, let's find the exclamation point, with: variable.find('!'). This will display that the exclamation point is found in the 11th position character of the string.

  8. Replace the exclamation point with a question mark: variable.replace('!', '?').

  9. To exit Python, you can enter exit(), quit(), or select Ctrl-Z.

Mac Install Python 3.8

Hope you had fun using some of Python's built-in string modification methods. Now try creating a Python program file and running it with VS Code.

Hello World tutorial for using Python with VS Code

Download And Set Up Python 3 On Mac

The VS Code team has put together a great Getting Started with Python tutorial walking through how to create a Hello World program with Python, run the program file, configure and run the debugger, and install packages like matplotlib and numpy to create a graphical plot inside a virtual environment.

  1. Open PowerShell and create an empty folder called 'hello', navigate into this folder, and open it in VS Code:

  2. Once VS Code opens, displaying your new hello folder in the left-side Explorer window, open a command line window in the bottom panel of VS Code by pressing Ctrl+` (using the backtick character) or selecting View > Terminal. By starting VS Code in a folder, that folder becomes your 'workspace'. VS Code stores settings that are specific to that workspace in .vscode/settings.json, which are separate from user settings that are stored globally.

  3. Continue the tutorial in the VS Code docs: Create a Python Hello World source code file.

Create a simple game with Pygame

Pygame is a popular Python package for writing games - encouraging students to learn programming while creating something fun. Pygame displays graphics in a new window, and so it will not work under the command-line-only approach of WSL. However, if you installed Python via the Microsoft Store as detailed in this tutorial, it will work fine.

  1. Once you have Python installed, install pygame from the command line (or the terminal from within VS Code) by typing python -m pip install -U pygame --user.

  2. Test the installation by running a sample game : python -m pygame.examples.aliens

  3. All being well, the game will open a window. Close the window when you are done playing.

Here's how to start writing your own game.

  1. Open PowerShell (or Windows Command Prompt) and create an empty folder called 'bounce'. Navigate to this folder and create a file named 'bounce.py'. Open the folder in VS Code:

  2. Using VS Code, enter the following Python code (or copy and paste it):

  3. Save it as: bounce.py.

  4. From the PowerShell terminal, run it by entering: python bounce.py.

Try adjusting some of the numbers to see what effect they have on your bouncing ball.

Read more about writing games with pygame at pygame.org.

Resources for continued learning

We recommend the following resources to support you in continuing to learn about Python development on Windows.

Online courses for learning Python

  • Introduction to Python on Microsoft Learn: Try the interactive Microsoft Learn platform and earn experience points for completing this module covering the basics on how to write basic Python code, declare variables, and work with console input and output. The interactive sandbox environment makes this a great place to start for folks who don't have their Python development environment set up yet.

  • Python on Pluralsight: 8 Courses, 29 Hours: The Python learning path on Pluralsight offers online courses covering a variety of topics related to Python, including a tool to measure your skill and find your gaps.

  • LearnPython.org Tutorials: Get started on learning Python without needing to install or set anything up with these free interactive Python tutorials from the folks at DataCamp.

  • The Python.org Tutorials: Introduces the reader informally to the basic concepts and features of the Python language and system.

  • Learning Python on Lynda.com: A basic introduction to Python.

Working with Python in VS Code

  • Editing Python in VS Code: Learn more about how to take advantage of VS Code's autocomplete and IntelliSense support for Python, including how to customize their behavior... or just turn them off.

  • Linting Python: Linting is the process of running a program that will analyse code for potential errors. Learn about the different forms of linting support VS Code provides for Python and how to set it up.

  • Debugging Python: Debugging is the process of identifying and removing errors from a computer program. This article covers how to initialize and configure debugging for Python with VS Code, how to set and validate breakpoints, attach a local script, perform debugging for different app types or on a remote computer, and some basic troubleshooting.

  • Unit testing Python: Covers some background explaining what unit testing means, an example walkthrough, enabling a test framework, creating and running your tests, debugging tests, and test configuration settings.

There is nothing formal to turn in for this Lab, and no grade will be given. However, this is an opportunity to come to ensure that you have Python, PyCharm, and PyGame installed and working properly on your laptops. If you do not come to lab, we will assume you have taken care of this yourself and you are ready to go when we start coding in lecture next week. So, if you have any doubts, come to lab, meet some of the TAs, and make sure you’re computer is setup and ready to go!

Mac

1.1 on Windows

  1. Install Python 3.6.4 (If you have a different version of Python, you still must install 3.6.4 seperately!):

    1. Download the executable x86-64 installer from python.org.

    2. Run the installer.

    3. Choose the “Custom Installation” option.

    4. If asked, check “Add Python to environment variables” and “Install for all users”; leave all other options at their default values.

  2. Install PyCharm Community Edition 2020.2.1:

    1. Download the executable installer from jetbrains.com.

    2. Run the installer.

    3. If asked, check “Create associations” - “.py”; leave all other options at their default values.

  3. Set up PyCharm and PyGame; see the cross-platform information below.

1.2 on Mac

  1. Install Python 3.6.4 (If you have a different version of Python, you still must install 3.6.4 seperately!):

    1. Download the installer from python.org.

    2. Run the installer.

    3. Choose the “Custom Installation” option.

    4. If asked, check “Add Python to environment variables” and “Install for all users”; leave all other options at their default values.

  2. Install PyCharm Community Edition 2017.3.2:

    1. Download the dmg disk image from jetbrains.com.

    2. Drag the icon to the Applications folder.

  3. Install prerequisites for PyGame

    1. Download and install XQuartz - https://dl.bintray.com/xquartz/downloads/XQuartz-2.7.11.dmg.

    2. Open a Terminal window (/ApplicationsUtilitiesTerminal). In the terminal window, paste the following commands in one at a time and run them individually:

      1. xcode-select --install
      2. ruby -e '$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)'
      3. alias brew=/usr/local/bin/brew
      4. brew install sdl sdl_image sdl_ttf smpeg portmidi libogg libvorbis
      5. brew install sdl_mixer libvorbis (NOTE: If this line doesn’t work, try brew install sdl_mixer, but this last command is optional. Feel free to skip it if it is causing issues.)
    3. In the Finder, open /ApplicationsPython 3.6 and double-click on the icon for Install Certificates.command

  4. Set up PyCharm and PyGame; see the cross-platform information below.

1.3 On Other Systems

If you are using a system other than Windows or Mac (Linux, FreeBSD, Haiku, etc.), first off, good for you! In general, installing Python, PyGame, and PyCharm is pretty straightforward on these systems (download the Linux version of PyCharm even if you are using a BSD or the like), but if you have trouble post what system you are using on Piazza and we’ll help get you set up.

There’s a fair bit of set-up, but you should only have to do this once.

Install python on mac

Download And Set Up Python 3 On Mac Os

  1. Run PyCharm

  2. Accept the default options in the various screens that pop up asking you to set up various aspects of PyCharm. These should only appear the first time you run PyCharm.

  3. When you reach the welcome screen,

    set up PyGame and how Pycharm interacts with Python doing the following:

    1. In the “configuration” menu (gear icon), select “Settings” (this is called “Preferences” if you are using a Mac).

    2. Go to the “Project Interpreter” option on the left of the screen.

    3. If the “Project Interpreter” drop-down on the top of the screen has a “Python 3” of some kind, select it and skip the indented steps below; otherwise

      1. Click the gear icon beside the drop-down (top-right corner of the window) and select “Add Local…” from the menu

      2. In the pop-up window, on the left chose “System Interpreter”

      3. In the drop-down, pick python3.6 if it is present; if not, click the “…” button and find where you installed Python.

      4. Click OK

    4. Click the green + either to the top right or bottom left of the list of packages

    5. In the pop-up window, type pygame in the search bar, select “Pygame” in the left-hand list, and click “Install Package”

    6. Wait until an “installation successful” message appears

    7. Click “Apply” and “OK” in each window until back in the welcome screen

  4. Click “Create New Project”

  5. In the new project window

    1. Set the Location to some place you can find in your OS’s file browser; suggested:

      • Windows: C:Usersyour-user-name-on-your-computerDesktopcs1110
      • OS X: /Users/your-user-name-on-your-computer/Desktop/cs1110
    2. Expand the “Project Interpreter” with the little triangle and pick the “Existing Interpreter” option, with Python 3.6 as the interpreter.

    3. Click the Create button

  6. Create a new Python file by right-clicking (control-click if you only have one button) on the cs1110 folder in the Project pane on the left side of the window, then pick New → Python File

  7. Type setup_test.py in the new file pop-up

  8. In the editor window, type or paste the following:

  9. Right-click in white space in the editor window (not on any text) and select “Run setup_test” from the drop-down menu.

  10. If you see “Hello, world!” in the second line of the bottom of the window, everything is set up correctly!

    If this does not work correctly, remove the ‘s’ from ‘https://….’, use urllib.request.urlopen(‘http://cs1110.cs.virginia.edu’)

    If you see something else, or if something went wrong along the way, ask a TA for help.