aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pydis_site/apps/content/resources/guides/python-guides/common-windows-issues.md113
-rw-r--r--pydis_site/apps/content/resources/guides/python-guides/install-on-windows.md34
-rw-r--r--pydis_site/apps/content/resources/guides/python-guides/microsoft-store.md16
-rw-r--r--pydis_site/apps/content/resources/guides/python-guides/python-on-windows.md173
4 files changed, 190 insertions, 146 deletions
diff --git a/pydis_site/apps/content/resources/guides/python-guides/common-windows-issues.md b/pydis_site/apps/content/resources/guides/python-guides/common-windows-issues.md
new file mode 100644
index 00000000..0f901d42
--- /dev/null
+++ b/pydis_site/apps/content/resources/guides/python-guides/common-windows-issues.md
@@ -0,0 +1,113 @@
+---
+title: Common issues using Python on Windows
+description: This guide describes common issues you may run into when using Python on Windows and how to fix them.
+---
+
+## When I run `python` in the terminal I get no result, or the Windows Store opens!
+
+By default Windows has an alias for `python` in the terminal to guide you to install it from the Windows Store. We would not recommend that you install Python from the Microsoft Store, see why [here](./microsoft-store.md).
+
+To disable this alias, search "App execution aliases" in windows search and click on "Manage app execution aliases". In the list you should see two options with title "App Installer" and descriptions `python.exe` and `python3.exe`, disable them both.
+
+Note that if you are following instructions telling you to run a command starting with `python3`, those instructions are intended for Unix/macOS systems. Try just using `python` instead.
+
+If after doing this you have an issue with the Python command not being detected, see the below question.
+
+## When I try and run my code with `python` in the terminal I get an error saying the command was not recognised
+
+If you have not installed Python, you will need to do that. See #installing-python section.
+
+If you have installed python and are still getting the error, it is likely that you forgot to add to PATH when doing so. See [our guide on adding Python to PATH](./python-on-windows.md#changing-path) for how to fix this.
+
+You can also use the `py` launcher instead of `python` by just replacing `python` in your command with `py`. See [this guide](./python-on-windows.md#the-py-launcher) for more information on this.
+
+## I `pip` installed a package but when running my code get a `ModuleNotFoundError`
+
+* #### Are you actually getting a `ModuleNotFoundError`?
+
+ If you are using a code editor such as VSCode or Pycharm you may get a squiggly line under your import saying the module couldn't be found, it is possible that this is just an mistake by the editor, so try running your code with to ensure if it actually errors.
+
+ If your code runs fine, you could try restarting your editor - if you have newly installed a module it may just not have detected it yet. If that doesn't help, you may need to configure it to ensure it is looking for the module in the correct Python environment.
+
+* #### Was the install successful?
+
+ Look out for errors when installing the module you want. If you get an error, that's probably why you can't install it, so you should look into it. Often a google search will help with this.
+
+
+* #### Did you use the correct module name?
+
+ Double check that you haven't made a typo in the name you are importing, or in what you installed from PyPI, you need to make sure you get the name exactly as it should be.
+
+ Also **the name you should `import` may not be the same as the name you `pip install`**. Check the module's docs or PyPI page if you are unsure.
+ Examples of this are:
+
+ * [**opencv-python**](https://pypi.org/project/opencv-python/): You need to `pip install opencv-python`, but the import has to be `import cv2`
+ * [**discord.py**](https://pypi.org/project/discord.py/): You need to `pip install discord.py`, but the import has to be `import discord`
+ * [**python-dotenv**](https://pypi.org/project/python-dotenv/): You need to `pip install python-dotenv`, but the import has to be `import dotenv`
+
+
+* #### Are you installing to the same environment you're running your code from?
+
+ This is a very common issue. When you install a module from PyPI, you will install it into a single python executable, the one that the `pip` you invoked is referring to. This could be different to the one you are running the script from, usually because it's using a different python version, or a virtual environment.
+
+ * ##### I installed the module using pip
+
+ Run `pip -V` and look at the path returned it should be in the form `<PATH_TO_PYTHON>\Lib\site-packages\pip`.
+
+ Then put `import sys;print(sys.executable);sys.exit(0)` at the top (above imports!) of your python file, and run it. The result should be in the form `<PATH_TO_PYTHON>\python.exe`.
+
+ Now compare that `PATH_TO_PYTHON` to the one from `pip -V`. If they're different, this is the cause of the `ModuleNotFoundError`. See the relevant "I'm running with ..." sections below for how to resolve this.
+
+ * ##### I installed the module using PyCharm
+
+ PyCharm creates a virtual environment by default, so if you're installing the module using Pycharm you need to make sure you also run your code from Pycharm.
+
+ How to fix it depends on how you're running your code
+
+ * ##### I'm running my code with `python` from the terminal.
+
+ If you are using a virtual environment, ensure you have activated your venv before running `pip install`
+
+ * If you are running your code through your editor, make sure you have it set up to use the same editor you are `pip install`ing into.
+ * Use the `py` command to specify the python version you want to pip install into, e.g. `py -3.9 -m pip install numpy`, or to specify.
+ If you're still getting an error, the chances are you installed the module to a different environment to the one you're running python with. This is very common, and how best to fix it depends on what editor you're using.
+
+ * ##### I'm running my code with PyCharm
+
+ PyCharm creates a virtual environment for each project by default, so you need to make sure that virtual environment is activated before installing modules. The easiest way to do this is by `pip install`ing directly from the PyCharm editor terminal, where it will be activated by default.
+
+ You can also use PyCharm's GUI to install modules.
+
+ * ##### I'm running my code with VSCode
+
+ To run your code from the same environment you installed Python to, set the interpreter to the one at the path you found when running `pip -V` by following [this guide](https://code.visualstudio.com/docs/python/environments#_select-and-activate-an-environment). The path should be in the form `PATH_TO_PYTHON\python.exe`
+
+ Alternatively, you can pip install to the currently activated environment. If you have configured VSCode to use a virtual environment, it should automatically activate it when you open a new terminal, so running the `pip install` command in the VSCode terminal should work. If you are not using a virtual environment, you can use the `py` launcher to specify the installation you want to install to.
+
+## I `pip` installed a command line program but it isn't recognised
+
+You pip installed a command line program like `PyInstaller` that is intended to be run from the command line, but it does not work. Two common causes for this are
+
+* You are using Python from the Microsoft Store
+
+ To check if this is the case, type `pip -V`. If the path output includes something like `PythonSoftwareFoundation.Python.3.10_3.10.2288.0_x64__qbz5n2kfra8p0`, you are using Python from the Microsoft Store. To fix this you will either have to use the full path to the scripts you want to use, or uninstall the Microsoft Store Python and install Python properly with the online installer.
+
+* You manually modified your PATH Environment Variable incorrectly
+
+ If you added the path to your Python install as an environment variable
+
+Projects that add a command line program usually work by adding an executable to the `/Scripts` folder of your Python install. If you clicked "Add to PATH" when installing Python this folder will have been added to PATH, so anything there should be runnable directly from the command line. This should also be the case when using a virtual environment, as long as it is properly activated.
+
+If you added `Python` to PATH manually through environment variables, it is possible that you only added the executable but not the `/Scripts` folder.
+
+## I get a `SyntaxError` when trying to run `pip`,`python`, or another command.
+
+When you type `python` in the terminal you enter into the python REPL (read-evaluate-print loop). This lets you run lines of `Python` code, like `print("Hello World")`, without having to create a file.
+
+General commands like `pip` and `python` should be run in the terminal, not in the Python REPL. To exit the REPL, type `exit()` and press enter. You should then be able to run your commands normally.
+
+## I tried to uninstall Python by deleting the folder, now it doesn't work and I can't reinstall it!
+
+You should never uninstall your Python installation by deleting the folder it is in. If you have, you may need to edit Registry Keys to fully remove the installation. Doing this is dangerous and beyond the scope of this guide.
+
+To uninstall Python properly, run the installer for the version you want to uninstall and select "uninstall". If you no longer have the installer, you can re-download it first.
diff --git a/pydis_site/apps/content/resources/guides/python-guides/install-on-windows.md b/pydis_site/apps/content/resources/guides/python-guides/install-on-windows.md
new file mode 100644
index 00000000..01cdb0fe
--- /dev/null
+++ b/pydis_site/apps/content/resources/guides/python-guides/install-on-windows.md
@@ -0,0 +1,34 @@
+---
+title: Installing Python on Windows
+description: How to properly install python on windows
+---
+
+The recommended way to install Python on windows is directly from the [Python website's Downloads page](https://www.python.org/downloads/windows/). Installing Python from the Microsoft Store is not recommended as it can [cause issues](./microsoft-store.md).
+
+## Selecting an Installer
+There are many different installer options available from the downloads page. You should usually select the "Windows installer" option instead of the "Windows embeddable package". Some minor versions may not
+
+### Which version?
+Current Python versions follow the form `3.major.minor`. Major releases happen yearly and provide new features and breaking changes, whilst minor releases are more common and only include bug/security fixes.
+
+Installing the latest major version will give you access to Python's newest features. However, some modules may not support the newest versions straight away, so installing the second latest will help you avoid those issues. If you find you want some newer features or your module does not support your current version, you can always install another version as well.
+
+You should generally always install the newest minor version, although some may not provide an installer in which case you should find the newest that does.
+
+### 32-bit vs 64-bit?
+Install 64-bit python unless you have reason not to. With 32 bit you may run into memory limits if doing intensive operations (Python will be limited to using 4GB of memory), and some installed modules may not offer prebuilt wheels for 32 bit, potentially making installs slower or meaning you have to install build dependencies.
+
+If you get an error when installing 64-bit Python, your computer may not support it. To find out if this is the case, search "About your PC" in windows search and open the settings page. Then look for the "System Type" option under "Device Specifications". It should say "64-bit operating system, x64-based processor" if you have support. You need a 64 bit processor and OS to install 64 bit programs.
+
+## Running the installer
+When you run the installer you should see a screen like this:
+
+![python_installer_screen](https://user-images.githubusercontent.com/22353562/126144479-cfe6bd98-6d2e-47c3-b6b3-5de9f2656e9a.png)
+
+Make sure you tick "Add Python 3.x to Path". This allows you to use the `python` and `pip` commands in your terminal to invoke Python. If you already have a Python installation on your PATH and don't want this one to override it, don't tick this.
+
+If you installed Python without adding to PATH and now want to add it, see (#changing-path)[#changing-path].
+
+Then simply click install, and wait for the install to finish!
+
+To test your installation, type "cmd" in the windows search bar and select "Command Prompt" to open a terminal (make sure it's opened *after* installation has finished) type `python -V`, and press enter. If it outputs your python version, you've successfully installed Python. (if you didn't add to PATH, you can use [the py launcher](./python-on-windows.md#the-py-launcher) to test instead).
diff --git a/pydis_site/apps/content/resources/guides/python-guides/microsoft-store.md b/pydis_site/apps/content/resources/guides/python-guides/microsoft-store.md
new file mode 100644
index 00000000..aaa604d0
--- /dev/null
+++ b/pydis_site/apps/content/resources/guides/python-guides/microsoft-store.md
@@ -0,0 +1,16 @@
+---
+title: Why not to install Python from the Microsoft Store
+description: This guide explains the issues with using Python installed from the Microsoft Store
+---
+
+Microsoft provides a Python app on the Microsoft Store as an alternative to using the [Standard Installer](https://www.python.org/downloads/). We would recommend that you use the standard installer wherever possible.
+
+Here are some common issues caused when using Python from the Microsoft Store:
+
+* Any command line tools like `black` or `pyinstaller` won't work directly. This happens because they work by adding an executable to the `Scripts/` directory, which isn't added to PATH on the Microsoft Store version of Python.
+
+* Some modules and scripts wont work with it because of restricted permissions. This is explained here: https://docs.python.org/3/using/windows.html#redirection-of-local-data-registry-and-temporary-paths
+
+* `python.exe` isn't added to PATH, but `pip.exe` is. This makes it easy to have an inconsistent `pip` and `python`. The `pip` is under the `C:\Users\username\AppData\Local\Microsoft\WindowsApps` entry, which wouldn't obviously have anything python related in it. If you add your normal python install path below this one the `pip` will be overridden by the `WindowsApps` one but the `python` one wont as it's overwriting the app execution alias.
+
+* The app execution alias behaviour is confusing. If you use the online installer and for get to tick the box to to add to path, when you try and use `python`, you either get no output or the windows store opens. This hides the command not found error which would have indicated that their install didn't work as expected.
diff --git a/pydis_site/apps/content/resources/guides/python-guides/python-on-windows.md b/pydis_site/apps/content/resources/guides/python-guides/python-on-windows.md
index 8b9693b5..df49b131 100644
--- a/pydis_site/apps/content/resources/guides/python-guides/python-on-windows.md
+++ b/pydis_site/apps/content/resources/guides/python-guides/python-on-windows.md
@@ -1,46 +1,9 @@
---
title: Python on Windows
-description: This guide explains how to install Python properly on Windows, what can go wrong, and how to fix things if it does.
+description: This guide explains how manage your Python installation(s) on Windows
---
-When working with Python installs on Windows, it can be easy to get into a mess. This guide explains how to install Python properly on Windows, what can go wrong, and how to fix things if it does.
-
-## Installing Python
-
-The recommended installation method on windows is to install it directly from the [Python website's Downloads page](https://www.python.org/downloads/). Installing Python from the Microsoft Store is not recommended as it can [cause issues](https://docs.python.org/3/using/windows.html#redirection-of-local-data-registry-and-temporary-paths).
-
-### Which version?
-**Recommended**: Second latest
-
-Installing the latest version will give you access to Python's newest features. However, some modules may not support the newest versions straight away, so installing the second latest will help you avoid those issues.
-
-If you find you want some newer features or your module does not support your current version, you can always install another version as well.
-
-### 32-bit vs 64-bit?
-**Recommended**: 64-bit
-
-It is recommended that you install 64-bit python unless you have reason not to. With 32 bit you may run into memory limits if doing intensive operations (Python will be limited to using 4GB of memory), and some installed modules may not offer prebuilt wheels for 32 bit, potentially making installs slower or meaning you have to install build dependencies.
-
-If you get an error when installing 64-bit Python, your computer may not support it. To find out if this is the case, search "About your PC" in windows search and open the settings page. Then look for the "System Type" option under "Device Specifications". It should say "64-bit operating system, x64-based processor" if you have support. You need a 64 bit processor and OS to install 64 bit programs.
-
-### Add to PATH, or not?
-**Recommended**: Yes, add to PATH
-
-You should add the first Python version you install to PATH. This allows you to use the `python` and `pip` commands in your terminal to invoke Python. For subsequent versions you'll need to decide which version you want to be accessible with the `python` command. You can always specify which one you want using the #py-launcher
-
-If you installed Python without adding to PATH and now want to add it, see (#changing-path)[#changing-path]
-
-### Running the installer
-When you run the installer you should see a screen like this:
-
-![python_installer_screen](https://user-images.githubusercontent.com/22353562/126144479-cfe6bd98-6d2e-47c3-b6b3-5de9f2656e9a.png)
-
-If you want to add to PATH, be sure to tick the "Add Python X.X to PATH" checkbox. Then click install, and wait for the install to finish!
-
-To test your installation, type "cmd" in the windows search bar and select "Command Prompt" to open a terminal (make sure it's opened *after* installation has finished) type `python -V`, and press enter. If it outputs your python version, you've successfully installed Python. (if you didn't add to PATH, you can use the [#the-py-launcher](#the-py-launcher) to test instead)
-
-## Using Python
-### The py launcher
+## The py launcher
By default, Python installed on Windows using the online Python installer comes with the "py launcher". It is a command line tool you invoke using the `py` command.
It provides the very useful `py -0p` command. This lists the python versions you have installed, the output will look like this:
@@ -65,22 +28,25 @@ The versions will be ordered from newest to oldest, and the `*` will indicate wh
You can override which version is called by specifying the major and minor versions to used. For example, to invoke python 3.7, you could run `py -3.7`. You can then pass any arguments to `python` on top of that, for example `py -3.7 myscript.py` to run `myscript.py`, or `py -3.7 -m pip install numpy` to invoke `pip` to install numpy into that version.
-You can use `py` instead of `python` and not have any python versions on path at all, but personally I would recommend having your "main" python version on path so you can invoke it with `python` if you want to. The full documentation of the `py launcher` can be found [here](https://docs.python.org/3/using/windows.html#python-launcher-for-windows)
+You can use `py` instead of `python` and not have any python versions on path at all. I would recommend having your "main" python version on path so you can invoke it with `python` if you want to, and then use `py` whenever you want a different version. The full documentation of the `py launcher` can be found [here](https://docs.python.org/3/using/windows.html#python-launcher-for-windows)
+
+## Virtual Environments
-### Virtual Environments
+Virtual environments, (aka `venvs`), are a way of letting each of your projects run in it's own python environment, different projects can have different versions of the same dependencies. This means that a `pip install` to your main Python will not affect a project where you're using a virtual environment.
-Virtual environments, (aka `venvs`), are a way of letting each of your projects run in it's own python environment, different projects can have different versions of the same dependencies.
+You can follow this guide for information on how to create and activate a virtual environment: https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/#creating-a-virtual-environment
-If your editor/IDE has handling for venvs, it's worth looking into how it works. Here's a [VSCode tutorial](https://code.visualstudio.com/docs/python/environments), and here's [one for Pycharm](https://www.jetbrains.com/help/pycharm/creating-virtual-environment.html). [Poetry](https://python-poetry.org/) and [Pipenv](https://pipenv.pypa.io/en/latest/) are both popular tools for managing dependencies.
+If your editor/IDE has handling for venvs, it's worth looking into how it works. Here's a [VSCode tutorial](https://code.visualstudio.com/docs/python/environments), and here's [one for Pycharm](https://www.jetbrains.com/help/pycharm/creating-virtual-environment.html). [Poetry](https://python-poetry.org/) and [Pipenv](https://pipenv.pypa.io/en/latest/) are both popular tools for managing dependencies and virtual environments.
-### Changing PATH
-PATH is the system variable that Windows uses to locate executables needed on the command line. Whenever you type a command name in your terminal, the terminal will look it up in the PATH to try and find out what executable that command refers to, so it can be run.
-The Python installer does not add Python to path by default, but even if you forgot to add it when installing, it is easy to change.
+## Changing PATH
+PATH is the system variable that Windows uses to locate executables needed on the command line. Whenever you type a command name in your terminal, for example `python` or `pip`, the terminal will look it up in the PATH to try and find out what executable that command refers to, so it can be run.
-#### The safe method: through the installer
+The Python installer does not add `python` to your PATH by default, but even if you forgot to add it when installing, it is easy to change.
-Some tutorials would advise going into your environment variables and editing your PATH manually, however it can be done more easily and safely directly from the installer. Here is how to do that.
+### The safe method: through the installer
+
+The easiest and and safest way to add Python to PATH is through the installer. Here is how to do that:
1. Search for "Apps and features" in the Windows Search Bar.
2. In the "App list" search bar search for "Python":
@@ -92,113 +58,28 @@ Some tutorials would advise going into your environment variables and editing yo
6. Click install.
-Python should now be on your PATH! You may need to restart any terminals/editors you have open before they detect the change.
+Python should now be on your PATH! You will need to restart any terminals/editors you have open before they detect the change.
-#### The advanced method: editing environment variables
+### The advanced method: editing environment variables
If you no longer have the installer, or want more control over variables in PATH, you can edit the environment variables manually.
-TODO: write guide.
-
-## Common Issues
-
-### When I run `python` in the terminal I get no result, or the Windows Store opens!
-
-By default windows has an alias for Python to redirect you and try and get you to install it from the Windows Store. It is recommended to install Python using the online installers rather than the windows store.
-
-To disable this alias, search "App execution aliases" in windows search and click on "Manage app execution aliases". In the list you should see two options with title "App Installer" and descriptions `python.exe` and `python3.exe`, disable them both.
-
-Note that if you are following instructions telling you to run a command starting with `python3`, those instructions are intended for linux. Try just using `python` instead.
-
-If after doing this you have an issue with the Python command not being detected but you have installed Python, see the below question.
-
-### When I try and run my code with `python` in the terminal I get an error saying the command was not recognised
-
-If you have not installed Python, you will need to do that. See #installing-python section.
-
-If you have installed python and are still getting the error, it is most likely that you forgot to add to PATH when doing so. See #managing-path
-
-You can also use the `py` launcher instead of `python` by just replacing `python` in your command with `py`. See #py-launcher for more information on this.
-
-### I `pip` installed a package but when running my code get a `ModuleNotFoundError`
-
-* ##### Are you actually getting a `ModuleNotFoundError`?
-
- If you are using a code editor such as VSCode or Pycharm you may get a squiggly line under your import saying the module couldn't be found, it is possible that this is just an mistake by the editor, so try running your code with to ensure if it actually errors.
-
- If your code runs fine, you could try restarting your editor - if you have newly installed a module it may just not have detected it yet. If that doesn't help, you may need to configure it to ensure it is looking for the module in the correct Python environment.
-
-* ##### Was the install successful?
-
- Look out for errors when installing the module you want. If you get an error, that's probably why you can't install it, so you should look into it. Often a google search will help with this.
-
-
-* ##### Did you use the correct module name?
-
- Double check that you haven't made a typo in the name you are importing, or in what you installed from PyPI, you need to make sure you get the name exactly as it should be.
-
- Also **the name you should `import` may not be the same as the name you `pip install`**. Check the module's docs or PyPI page if you are unsure.
- Examples of this are:
-
- * [**opencv-python**](https://pypi.org/project/opencv-python/): You need to `pip install opencv-python`, but the import has to be `import cv2`
- * [**discord.py**](https://pypi.org/project/discord.py/): You need to `pip install discord.py`, but the import has to be `import discord`
- * [**python-dotenv**](https://pypi.org/project/python-dotenv/): You need to `pip install python-dotenv`, but the import has to be `import dotenv`
-
-
-* ##### Are you installing to the same environment you're running your code from?
-
- This is a very common issue. When you install a module from PyPI, you will install it into a single python executable, the one that the `pip` you invoked is referring to. This could be different to the one you are running the script from, usually because it's using a different python version, or a virtual environment.
-
- * ###### I installed the module using pip
-
- Run `pip -V` and look at the path returned it should be in the form `<PATH_TO_PYTHON>\Lib\site-packages\pip`.
-
- Then put `import sys;print(sys.executable);sys.exit(0)` at the top (above imports!) of your python file, and run it. The result should be in the form `<PATH_TO_PYTHON>\python.exe`.
-
- Now compare that `PATH_TO_PYTHON` to the one from `pip -V`. If they're different, this is the cause of the `ModuleNotFoundError`. See the relevant "I'm running with ..." sections below for how to resolve this.
-
- * ###### I installed the module using PyCharm
-
- PyCharm creates a virtual environment by default, so if you're installing the module using Pycharm you need to make sure you also run your code from Pycharm.
-
- How to fix it depends on how you're running your code
-
- * ###### I'm running my code with `python` from the terminal.
-
- If you are using a virtual environment, ensure you have activated your venv before running `pip install`
-
- * If you are running your code through your editor, make sure you have it set up to use the same editor you are `pip install`ing into.
- * Use the `py` command to specify the python version you want to pip install into, e.g. `py -3.9 -m pip install numpy`, or to specify.
- If you're still getting an error, the chances are you installed the module to a different environment to the one you're running python with. This is very common, and how best to fix it depends on what editor you're using.
-
- * ###### I'm running my code with PyCharm
-
- PyCharm creates a virtual environment for each project by default, so you need to make sure that virtual environment is activated before installing modules. The easiest way to do this is by `pip install`ing directly from the PyCharm editor terminal, where it will be activated by default.
-
- You can also use PyCharm's GUI to install modules.
-
- * ###### I'm running my code with VSCode
-
- To run your code from the same environment you installed Python to, set the interpreter to the one at the path you found when running `pip -V` by following [this guide](https://code.visualstudio.com/docs/python/environments#_select-and-activate-an-environment). The path should be in the form `PATH_TO_PYTHON\python.exe`
-
- Alternatively, you can pip install to the currently activated environment. If you have configured VSCode to use a virtual environment, it should automatically activate it when you open a new terminal, so running the `pip install` command in the VSCode terminal should work. If you are not using a virtual environment, you can use the `py` launcher to specify the installation you want to install to.
-
-### I `pip` installed a command line program but it isn't recognised
-
-If you pip installed a command line program like `PyInstaller` that is intended to be run from the command line, but it does not work, this suggests the Python installation you installed it to is not on `PATH` (or at least not fully).
+First, search "environment variables" in Windows search and click on "Edit the system environment variables". Then click the "Environment Variables" button near the bottom of the window.
-Projects that add a command line program usually work by adding an executable to the `/Scripts` folder of your Python install. If you clicked "Add to PATH" when installing Python this folder will have been added to PATH, so anything there should be runnable directly from the command line. This should also be the case when using a virtual environment, as long as it is properly activated.
+Now there should be two boxes, one for user environment variables and one for system environment variables. There should be a "Path" entry under both. If you installed Python for your user account only (the default), double click the "Path" entry under the "User variables for [username]" section.
-If you added `Python` to PATH manually through environment variables, it is possible that you only added the executable but not the `/Scripts` folder.
+You should now see a list of paths. Each path represents a folder that will be searched for executables when looking up a command name in the terminal. The paths are searched from top to bottom, and the first executable found matching the name will be used. The system PATH variable has priority over the user one.
-### I get a `SyntaxError` when trying to run `pip`,`python`, or another command.
+#### Python in the PATH
-When you type `python` in the terminal you enter into the python REPL (read-evaluate-print loop). This lets you run lines of `Python` code, like `print("Hello World")`, without having to create a file.
+As there are different ways of installing Python it can appear in your PATH in different ways.
-General commands like `pip` and `python` should be run in the terminal, not in the Python REPL. To exit the REPL, type `exit()` and press enter. You should then be able to run your commands normally.
+##### Adding Python to your PATH
-### I tried to uninstall Python by deleting the folder, now it doesn't work and I can't reinstall it!
+First you will need to find the location of your Python executable. You can find this by running `py -0p` on the command line and selecting the path you want, or by adding `import sys;print(sys.executable)` to your code and running that.
-You should never uninstall your Python installation by deleting the folder it is in. If you have, you may need to edit Registry Keys to fully remove the installation. Doing this is dangerous and beyond the scope of this guide.
+For a standard Python install the file path should look something like `C:\Users\username\AppData\Local\Programs\Python\Python3xx\python.exe`. To add this two the path you should add two folders, the one containing `python.exe`, and the `Scripts/` directory in that directory. In this case the two paths would be:
+- C:\Users\username\AppData\Local\Programs\Python\Python3xx\
+- C:\Users\username\AppData\Local\Programs\Python\Python3xx\Scripts
-To uninstall Python properly, run the installer for the version you want to uninstall and select "uninstall". If you no longer have the installer, you can re-download it first.
+It is important that both paths are added, otherwise `pip` and other commands will not work correctly.