Signup/Sign In

Python Virtual Environment Setup on Mac OSX - Easiest Way

Posted in Programming   LAST UPDATED: MAY 26, 2023

    Python virtual environments are essential tools for managing project dependencies and ensuring a clean, isolated development environment. Setting up a virtual environment on macOS can seem like a daunting task, but fear not! In this article, we will guide you through the easiest way to set up a Python virtual environment on your Mac.

    Whether you're a seasoned developer or just starting your coding journey, understanding virtual environments is crucial. They allow you to create a self-contained space for each project, where you can install specific versions of Python packages without worrying about conflicts with your system-wide installations.

    By the end of this article, you will have a solid understanding of how to set up a Python virtual environment on your Mac and get started on your coding endeavors hassle-free. Let's dive in!

    If you are a Mac user, you should know that Python 2.7.x comes pre-installed in your Macbook, but as that is required by your operating system, you cannot modify it or update it and I would recommend that you don't use it at all.

    Instead, you should set up a virtual environment for your development purpose. You must be thinking about why we need a virtual environment. So here are a few points in its favor:

    1. When we have a virtual environment, then we can install new packages inside the virtual environment which will not affect the operating system's python modules.

    2. We can have different versions of Python installed inside the virtual environment.

    3. You can set up a different virtual environment for each project for example if you are working on one project based on Tkinter module, or some other projects based on the Numpy module, then you can easily do this.

    So to set up a virtual environment, we won't be using virtualenv or virtualenvwrapper module, which are the most popular to set up a virtual environment.

    But we will be using the venv module which comes as a default with Python 3.x version and is recommended to use for virtual environment creation.

    Installing Python 3.8 on Mac OSX

    We will use Homebrew to install Python 3.8 and will then move on to creating a virtual environment. If you don't have Homebrew installed on your Macbook, you can install Homebrew on your MacOSX and then use it to install Python 3.8 on your machine.

    Once you have Homebrew set up, run the following command to install the latest version of Python:

    $ brew install python

    Homebrew will also install pip for you which you can verify by running the pip3 command.

    To verify the successful installation of the Python 3.x version, run the python3 command, and the IDLE should start in your terminal.

    Use venv to create a Virtual Environment

    As per the official documentation of venv module,

    The venv module provides support for creating lightweight “virtual environments” with their own site directories, optionally isolated from system site directories. Each virtual environment has its own Python binary (which matches the version of the binary that was used to create this environment) and can have its own independent set of installed Python packages in its site directories.

    We can run the following command to create a virtual environment:

    python3 -m venv my_env

    This will create a virtual environment for you with the following files in the virtual environment directory my_env:

    • bin
    • include
    • lib
    • pip-selfcheck.json
    • pyvenv.cfg

    To activate the virtual environment, run the following command:

    source my_env/bin/activate

    This will start the virtual environment and you should see the name of the virtual environment added before the directory name as shown in the image below:

    Python virtual environment setup

    Now you can install anything in it, by running the pip3 install command, for example to install the requests module, run the following command:

    pip3 install requests

    To get out of the virtual environment, run the exit command.


    Setting up a Python virtual environment on your Mac doesn't have to be a complicated process. By following the steps outlined in this article, you can quickly create an isolated environment for your Python projects. Virtual environments provide a clean slate where you can install project-specific dependencies, avoiding conflicts and ensuring smooth development.

    Remember, virtual environments are invaluable tools for any Python developer, enabling efficient project management and easy collaboration. By harnessing the power of virtual environments, you can streamline your development workflow and keep your projects organized.

    So go ahead, give it a try! Create your first Python virtual environment on your Mac and experience the benefits firsthand. Happy coding!

    Frequnetly Asked Questions(FAQs)

    1. What is a Python virtual environment?

    A Python virtual environment is a self-contained directory that houses a Python installation along with the packages required for a specific project. It helps keep project dependencies isolated and prevents conflicts with system-wide Python installations.

    2. How do I create a virtual environment in Python?

    You can create a virtual environment in Python using the built-in "venv" module. Simply open your terminal, navigate to the desired directory, and run the command: "python3 -m venv myenv". Replace "myenv" with the name you want for your virtual environment.

    3. How do I activate a virtual environment?

    To activate a virtual environment, navigate to its directory in the terminal and run the command: "source bin/activate". Once activated, you'll notice your command prompt changes to reflect the activated environment.

    You may also like:

    About the author:
    I like writing content about C/C++, DBMS, Java, Docker, general How-tos, Linux, PHP, Java, Go lang, Cloud, and Web development. I have 10 years of diverse experience in software development. Founder @ Studytonight