> For the complete documentation index, see [llms.txt](https://pythonforstarters.solomonmarvel.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://pythonforstarters.solomonmarvel.com/virtual-environments/pipenv.md).

# Pipenv

#### Setting up virtual environments using pipenv

`Pipenv` is a tool that aims to bring the best of all packaging worlds (bundler, composer, npm, cargo, yarn, etc.) to the Python world. It automatically manages project packages through the `Pipfile` file as you install or uninstall packages.

`Pipenv` is a tool that aims to simplify the process of managing package dependencies in a Python project. It does this by introducing a new file called the `Pipfile`, which contains all the package dependencies for your project. You can use the `pipenv` command to install packages, and it will automatically update the `Pipfile` and `Pipfile.lock` with the new package information. The `Pipfile.lock` file is used to ensure that the exact same packages are installed on every machine that runs `pipenv` install, which can be useful for reproducing environments and avoiding dependency conflicts.

`Pipenv` is designed to be easy to use, and it integrates with other tools such as `pyenv` to manage multiple Python versions and `pipx` to install and run Python packages in isolated environments.

## Installing `pipenv`

To install `pipenv`, you will need to have Python and pip, the Python package manager, installed on your system. If you do not have Python and `pip` already installed, you can install them by following the instructions for your operating system:

**Windows:**

Download the Python installer from the official Python website (<https://www.python.org/downloads/>) and run it to install Python on your system. Make sure to select the option to add Python to your system path during the installation.

Open a Command Prompt window and run the following command to install pip:

```bash
python -m pip install -U pip
```

**macOS:**

Python and `pip` are pre-installed on macOS. You can check if they are installed on your system by running the following commands in a terminal:

```bash
python --version
pip --version
```

**Linux:**

Python and pip are often pre-installed on Linux systems. You can check if they are installed on your system by running the following commands in a terminal:

```bash
python3 --version
pip3 --version
```

If Python and pip are not installed on your system, you can install them by running the following commands:

```bash
sudo apt-get update
sudo apt-get install python3
sudo apt-get install python3-pip
```

Once you have Python and pip installed, you can install `pipenv` by running the following command:

```bash
pip install --user pipenv
```

This will install `pipenv` in your user directory, so you will be able to use it without having to use sudo. If you want to install `pipenv` system-wide, you can run the following command instead:

```bash
sudo pip install pipenv
```

This will install `pipenv` globally, allowing it to be used by any user on the system.

You can verify that `pipenv` is installed correctly by running the following command:

```bash
pipenv --version
```

This should print the version number of `pipenv`, indicating that it is installed and working correctly.

### Creating a virtual environment using `pipenv`

Run the following command to create a new virtual environment:

```bash
pipenv --python <python_version>
```

Replace \<python\_version> with the version of Python that you want to use in the virtual environment.

For example, to create a virtual environment with Python 3.7, you would run:

```bash
pipenv --python 3.7
```

To activate the virtual environment, run the following command:

```bash
pipenv shell
```

You should now see the virtual environment's name in your terminal prompt, indicating that it is active.

To install packages in the virtual environment, you can use `pipenv` install command. For example, to install the requests package, you would run:

```bash
pipenv install requests
```

To deactivate the virtual environment, simply run the exit command i.e.

```bash
exit
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://pythonforstarters.solomonmarvel.com/virtual-environments/pipenv.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
