Install Python
Installing Python 3
Brian "Beej Jorgensen" Hall edited this page on May 29, 2020 · 1 revision
NOTE: pipenv is optional! We don't use it in CS. But it's a neat package manager if you get into more complex Python projects. It can be a headache of an install for some people. You can safely ignore anything about pipenv below if you don't want to mess with it.
We'll want to install Python 3 (version 3.x), which is the runtime for the language itself. The runtime is what allows you to execute Python code and files by typing python [file_or_code_to_execute]
in your terminal. You can also open up a Python REPL (Read-Eval-Print Loop) to quickly and easily mess around with Python code once you've gotten the runtime installed. If you recall how Node let's you execute and run JavaScript code locally on your machine instead of having to rely on the browser, the Python runtime pretty much let's you do the same thing but with Python code.
Additionally, we'll be talking about how to install the (optional) pipenv virtual environment manager. Think of it as the npm
of Python (though pipenv is also capable of performing a bunch of other tasks as well, most notably running your Python projects in an isolated virtual environment).
Note for Anaconda users
Unfortunately, we haven't found a way to get Anaconda to play nicely with pipenv. If you get them working together, please let your instructor know how you did it.
Testing the Install
If you can run python
or python3
and see a 3.7 or later version, you're good to go:
or on some systems, Python 3 is just python
:
And optionally try pipenv
:
Otherwise, keep reading. :)
macOS
While macOS comes with Python 2, we need to get Python 3 in there as well.
If you don't have Brew installed, follow the instructions on the brew website.
Use Brew to install Python and pipenv at the Terminal prompt:
Windows
Note: Git Bash doesn't seem to cooperate if you're trying to install Python on Windows. Try another terminal like Powershell.
Recommend updating Windows to the latest version.
Windows Store
Python 3 is in the Windows Store and can be installed from there.
Official Binaries
When installing the official package, be sure to check the
checkbox!!
Pipenv
This is what worked for Beej. YMMV.
Install Python, as per above.
Bring up a shell (cmd.exe or Powershell)
Run
py -m pip
Run
py -m pip install --user pipenv
At this point, you should be able to always run pipenv with
py -m pipenv
, but that's a little inconvenient. Read on for making it easier.You'll see a message like this in the pipenv install output, but with a slightly different path:
Select that path (not including any quotes around it), and copy it
Go to the Start menu, type "environment" and run the program
Edit Environment Variables
In the System Properties popup, hit the
Advanced
tab, thenEnvironment Variables
On the list of environment variables, doubleclick
Path
Click
New
Paste that path from step 5 into the new entry slot. Make sure there aren't any quotes around it.
Click
OK
,OK
,OK
.Relaunch any shells you have open.
Now you should be able to just run
pip
andpipenv
in Powershell without puttingpy -m
in front of it.
Pipenv official instructions
Install pipenv per these instructions
Chocolatey
Install Python 3 with Chocolatey
Install pipenv per these instructions
WSL
If you're running Windows 10+, you might want to install the Windows Subsystem for Linux. This gives you a mini, integrated Linux system inside Windows. You then install and use Python from there.
Update Windows to latest if you haven't already.
Go to the Microsoft store and install Ubuntu.
Run Ubuntu to get a bash shell.
Make a new username and password. This is completely separate from your Windows username and password, but I made mine the same so that I wouldn't forget.
Upgrade the Ubuntu system. Run:
Give your newly-entered password if prompted.
Running
python3 --version
should give you 3.6 or higher.Run
pip install pipenv
.
If you've installed VS Code, add the "Remote WSL" extension. This way you can run code
from within Ubuntu.
In the Ubuntu shell, you can run explorer.exe .
in any directory to open a Windows Explorer window in that directory.
Also in Windows Explorer, you can put \\wsl$
in the URL bar to see your Ubuntu drive. (If it doesn't show up, relaunch your Ubuntu shell.)
If you run into trouble with the above, try the following:
Open cmd.exe as an administrator and start bash with
bash
Type
Python -V' and 'Python3 -V
If one of these responds with
Python 3.6.8
use that command from now onIf neither response is
Python 3.6.8
but one is a higher version of Python, this means one of two thingsIf you have manually installed a higher version of Python, we recommend uninstalling it
If you have not, it is possible that Microsoft has updated WSL and you will need to adjust these instructions to accommodate
Otherwise, update Ubuntu:
sudo apt-get update
sudo apt-get upgrade
Repeat 2.1 above to determine if you should use
Python
orPython3
when using Python. Note: inside the shell, you will always use Python as the command.
Make sure pip is installed for Python 3
pip --version
andpip3 --version
. One of these needs to respond with a version that has a version of Python 3 at the end of the line.If you only have it for 2.7, you will need to install for 3 with:
sudo apt update && sudo apt upgrade
sudo apt install python3-pip
Check versions and commands again. You will likely need to use
pip3
for the next step, but it's possible it may be justpip
. Use the one with the version associated with Python 3.6.8
Make sure pipenv is installed for Python 3
python3 -m pipenv --version
If not, install pipenv:
sudo apt update && sudo apt upgrade
(if you didn't just do this above)pip3 install --user pipenv
Check the version again
Try
pipenv shell
. If this fails, make sure that every reference in the error refers to Python 3.6. If not, review the above stepsIf the error does refer to 3.6:
Confirm that
python --version
refers to 2.7.somethingConfirm that
/usr/bin/python3 --version
refers to 3.6.8pipenv --three --python=
which python3`` NOTE that there are backticks (`) around which python3This should create the shell forcing it to use 3.6.8
Last updated