- PATH and .bash_profile
- Homebrew - pyenv
- Uninstall python
It’s easy to install multiple versions of python on a Mac computer using installers from python.org, Homebrew, Conda, or other sources. This could create conflicts if a user wants to run one version of python but bash calls a different version instead.
This is guide will show you how to:
- modify your bash profile to change which version of python is called by bash first.
- use virtual environments to specify a version of python that will run a project.
- uninstall specific versions of python.
Mac OS needs python
DO NOT remove any versions of Python found in the following folders:
These versions of Python—which should be Python 2.7—are installed by Apple and used by Mac OS and other software to perform some functions. Deleting Python from these directories will break Mac OS and force you to reinstall it on your computer.
Other projects may need specific versions of python
You may have a python project or you may use python packages that require particular versions of Python. Uninstalling those versions would prevent those projects or packages from working until that version of python is reinstalled. For example, Python 3 is a dependency of Numpy; if you uninstalled Python 3, then Numpy wouldn’t work until you reinstalled Python 3.
Three common methods of installing python can be found here:
The python.org (python.org) installer can be found here.
First install Homebrew. The instructions are here, or enter the following command:
To install Python 3:
To install Python 2:
Anaconda is generally used for scientific and machine learning applications.
For Ananconda follow installation instructions here.
Miniconda is a stripped down version of Anaconda.
For Miniconda follow installation instructions here.
The path is a list of directories that your shell will look through when you execute a command. You can display the path on your computer using the
echo $PATH command:
The directories above are separated by a colon, this is what they look like displayed in sequence:
When you ask your shell to run a particular command or run an interpreter,
python for example, the shell looks through the different directories listed in the PATH in order they’re presented above. When the shell finds that command, it stops and calls it even if there is another version of the same command, with the same name, further down in the list.
The bash profile is a set of instructions that are run by the shell when the user logs in to bash. You can add a variety of preferences to the bash profile, including modifications to the PATH. When anaconda, miniconda or other versions of python are installed they automatically add paths to their respective versions of python to the top of the bash profile.
Bash reads the bash profile in sequential order — from top to bottom — and adds those paths to the PATH in the order that they’re read. This means that the last path at the bottom of the bash profile will end up as the first path in the PATH. This means that if you have Python 3.6 installed on your computer, and then decide to add python 3.7, but keep 3.6, the installer will add Python 3.7 to the top of the bash profile but it will end up after python 3.6 in the PATH. Entering
python3 in bash will call python 3.6, not 3.7.
If that was confusing compare the order that the python paths are added to my bash profile below to the PATH listed above. You’ll notice that their respective orders are opposite from each other.
Enter the following command to open the bash profile in TextEdit:
My .bash_profile currently looks like this:
If you want to keep all of your installed versions of python, but want bash to open a different version first, just copy and paste it to the bottom of the bash profile. If you don’t want bash to run a particular version of python then delete it from bash profile and uninstall that version by following the instructions further down.
Don’t forget to save the bash profile before closing TextEdit. You also have to reload the bash profile in bash before any changes take effect. Just enter one of the following commands:
Pyenv is a Homebrew package that allows a user to install multiple versions of python in Homebrew and specify which version of python they’d like to run.
Install different versions of python:
Show which versions of python are installed:
The asterisk indicates that the system version of python is active, but 3.5.0 and 3.6.0 are also installed.
Create a folder called
PythonLocalProject, then display the version of python called by bash by entering
This creates a
.python-version file which tells
pyenv which version of python to run in that directory.
ls -la shows us that file:
And running this command shows which version of python is called by pyenv:
To change pyenv to the system version of version 3.6.0 enter:
This procedure is fine, you can set a version of python to run in a particular folder. But what if you want to use pyenv to set a global version of python.
Pyenv gives these instructions when you enter
pyenv init in bash:
Open the bash profile:
Add this text to the bottom of the file:
eval '$(pyenv init -)'
Save the file and then enter:
echo $PATH will show that a pyenv shim has been added to the beginnning of the path:
which python will return:
This means that bash will run the version of python set by pyenv.
Navigate to a folder that doesn’t have a
.python-version file and enter:
This shows us that the global version of python is 3.6.0 and it is set by
So this shows that bash will run whichever version of python that is set in pyenv.
If you navigate back to the
PythonLocalProject folder with the
.python-version file and run
python -V you will notice that it doesn’t run the global version of python, it runs whichever version was last set with the
pyenv local command.
We can use the
which command to identify where specific versions of python are located:
This shows some overlap as some versions of python appear in both searches.
The locations of the anaconda and miniconda versions of python are self explanatory, so are the pyenv installs, the python.org installer places python in the
/Library/Frameworks/Python.framework/ directory. Homebrew installs all packages, including python, in
/usr/local/Cellar, then Homebrew adds a symlink to
/usr/local/binso that its version of python can be found in the path. Finally, Apple installs python in
/usr/bin. Remember, don’t delete that version.
Follow these instructions if you want to remove particular versions of python.
The python.org installer places all it’s installed files in the following folders:
- The system applications folder,
To delete all versions of python that were installed using the python.org installer, enter these commands in terminal:
To remove particular versions of python, you have to refer to the particular framework. The frameworks are installed in
/Library/Frameworks/Python.framework and particular versions are found in
/Library/Frameworks/Python.framework/Versions/X.Y. So for example if you wanted to uninstall only version 3.5 but leave other versions you would enter the following commands in bash:
To uninstall python that was installed using homebrew you need to identify what versions of python have been installed by Homebrew:
Currently brew refers to python3 as
python and python 2 is called
To uninstall both python2 and python3 enter the following:
Homebrew will refuse to uninstall python if it has dependencies, just uninstall python and ignore the dependencies:
Or, add the dependencies to the list of items to be uninstalled:
It’s possible to have Homebrew’s Python directory at the beginning of the $PATH but calling
python will still start the Apple installed version of Python or some other version. If that’s the case it’s possible that Homebrew’s Python install has become unlinked. This command will unlink and relink Python in Homebrew:
Uninstall Python from Pyenv
To list versions of python installed using pyenv enter:
To uninstall versions of python installed using pyenv enter:
The official removal instructions are found here, but deleting anaconda and miniconda is easy.
Anaconda and miniconda are installed in the users home directory:
Depending on which version or versions you have, just enter the following commands:
Anaconda and miniconda also use several invisible files. Delete them by entering this command:
- Python Removal Instructions - towards the bottom of the README file.
And now for something completely different.
As an absolute Python web development beginner in programming, learning cool things using Python interpreter & simple Python scripts is an excellent task. However, you will eventually need tools to expand more complex projects.
For me, the hardest thing is to branch out the best Python development tools. Moreover, you must know how to interpret their install instructions. Also, how a top Python web development company can help your way out in Python on MAC!
Below is the list of tools to get the Python development set up on a Mac. Once you installed the python in mac then it will be pretty easy to run python script on MacOs.
I’ll explain all the lines of code so that you learn a little bit about working with command lines easily on the latest Mac OS X versions since 10.7.
Xcode, Apple’s Integrated Development Environment (IDE), which is pretty significant to download from Apple Appstore. Once the IDE is downloaded, start installing the Xcode!
Once Xcode gets installed, you now have to install Apple command line tools!
Install Python On Mac Os
Under the Xcode MAC development tool for Python, go to the menu & click preferences. On the window, which pops up with the click, go to the Downloads tab & find “command lines tools.”
Finally, click the install button.
OPEN TERMINAL GET COMFY.
How To Install Python In Mac Os
It actually is a command-line interface, which is a place for storing all your programming projects in a separate folder. Let’s name the folders as CODE!
To make a new folder Code, open up your Terminal go to the home directory and type the following in your Terminal window: $ cd
It is a Command-line instruction that always starts with $ and represents the end of your prompt. A prompt is a group of characters or better say strings of characters.
The cd means change directory. Now, if you fail to specify a directory, then $ cd sends you to your home directory.
In order to make a folder CODE, type: $ mkdir Code
The mkdir refers to ‘make a directory’.
If you make directory via your command line, it shows up as a folder in Finder. mkdir specifies a string which is the name of the new directory. As a result, passing Code argument is easy.
Unlike cd, mkdir also can give an error if we don’t provide a name.
Below we have shown an example that tells the wrong usage of mkdir. Anything in brackets is optional, but the directory name is not!
$ mkdir usage: mkdir [-pv] [-m mode] directory.
Homebrew is a package manager for Apple’s Mac OS X, which is a collection of code files. By installing it, you run scripts to put certain files in the directories.
Many packages have dependencies on each other.
Homebrew finds and installs these packages, organizes them in one location; moreover, it tells you about their available updates. Additionally, it gives helpful instructions to make python mobile app development and web development projects on MAC smooth.
To install Homebrew, use the following code:
$ ruby -e “$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)”
The URL is a Ruby script that informs the computer to install Homebrew. A curl is a command-line tool helpful in transferring files using URLs. The -fsSL handles the file present in the URL.
After you are done writing the code, you have to execute this Ruby script! The -e is a flag for ruby to execute strings as a one-line code.
Installing homebrew, fetching codes, etc. is setting up the stage to install Python development tools on MAC. The next step greatly belongs to your use, as we will now teach you to install Python.
Python comes with OS X. Type Python –version into Terminal!
If you get an error message, then install Python. If the Terminal prints “Python 2.7.3 where the exact numbers are different, directly move on to step #5.”
For some reason, you want to get the current version of Python, leave it to Homebrew! It automatically works on the latest Python tools on MAC.
For installing the latest version of Python, type: $ brew install python. The latest version will get installed it automatically.
PIP is one of those few package managers which is specific to Python! It stands for “pip installs packages”. It has one dependency–distribute and is easily installed with those python scripts which are available on the web. Use Curl;
$ curl -O http://python-distribute.org/distribute_setup.py
$ python distribute_setup.py
$ curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
$ python get-pip.py
This time we are executing each script in two commands. There are chances that you will face some performance issues. Each file at your computer stores information to access and modify.
The get-pip.py script writes files to your system directories. Might be your user account doesn’t have the right permission.
A virtual environment is useful whenever you involve with projects having different or conflicting dependencies. For example, you would like to use a library that requires a top Python development company in USA while working with Python’s old and new versions.
To install virtualenv, simply type the following strings: $ pip install virtualenv
You have a lot of powerful Python development tools on MAC. Learning all the tools at a time can take more time of yours. Hence the best way is to hire Python developers who are also experts and dedicated to MAC OS programming.
Don’t forget to tell us in the comment section if you find better ways to make Python development tools work in MAC!