How to use the command 'pipenv' (with examples)
‘pipenv’ is a command-line tool that provides a simple and unified workflow for Python development. It is used to manage packages and the virtual environment for a project. It aims to make it easier to create and maintain Python projects by combining the functionality of tools like ‘pip’ and ‘virtualenv’ into a single command.
Use case 1: Create a new project
Code:
pipenv
Motivation: This command is used to create a new project. It initializes a new project in the current directory by creating a Pipfile, which is used to manage the project’s dependencies.
Explanation: When the ‘pipenv’ command is run without any arguments, it creates a new project in the current directory. It initializes the project by creating a Pipfile, which is a specification for the project’s dependencies.
Example output:
Creating a virtualenv for this project...
Pipfile not found, creating one...
Pipfile.lock not found, creating one...
To activate this project's virtualenv, run the following command:
$ pipenv shell
Use case 2: Create a new project using Python 3
Code:
pipenv --three
Motivation: This command is used to create a new project using Python 3. It ensures that the project is initialized with Python 3 as the default interpreter.
Explanation: The ‘–three’ argument is used to specify that the new project should be created using Python 3. It sets Python 3 as the default interpreter for the project.
Example output:
Creating a virtualenv for this project...
Pipfile not found, creating one...
Pipfile.lock not found, creating one...
To activate this project's virtualenv, run the following command:
pipenv shell --three
Use case 3: Install a package
Code:
pipenv install package
Motivation: This command is used to install a package into the project’s virtual environment. It ensures that the package and its dependencies are installed and available for use in the project.
Explanation: The ‘install’ command is used to install a package. The ‘package’ argument is the name of the package that you want to install.
Example output:
Installing package...
Adding package to Pipfile's [packages]...
Installation Succeeded
Use case 4: Install all the dependencies for a project
Code:
pipenv install
Motivation: This command is used to install all the dependencies for a project. It ensures that all the packages specified in the project’s Pipfile are installed and available for use.
Explanation: The ‘install’ command, when run without any arguments, installs all the packages specified in the project’s Pipfile. This command should be run in the project’s root directory, where the Pipfile is located.
Example output:
Installing dependencies from Pipfile.lock (xxxxxxxx)...
Installation Succeeded
Use case 5: Install all the dependencies for a project (including dev packages)
Code:
pipenv install --dev
Motivation: This command is used to install both the dependencies and dev-packages for a project. It ensures that all the packages specified in the project’s Pipfile are installed, including those specified under the [dev-packages]
section.
Explanation: The ‘–dev’ argument is used to specify that both the dependencies and dev-packages should be installed. This is useful for projects that have separate dependencies for development purposes, such as testing or documentation generation.
Example output:
Installing dependencies and dev-packages from Pipfile.lock (xxxxxxxx)...
Installation Succeeded
Use case 6: Uninstall a package
Code:
pipenv uninstall package
Motivation: This command is used to uninstall a package from the project’s virtual environment. It ensures that the package and any dependencies that are no longer needed are removed.
Explanation: The ‘uninstall’ command is used to remove a package from the virtual environment. The ‘package’ argument is the name of the package that you want to uninstall.
Example output:
Uninstalling package...
Package(s) not found: package
Use case 7: Start a shell within the created virtual environment
Code:
pipenv shell
Motivation: This command is used to activate the project’s virtual environment. It opens a new shell session with the virtual environment enabled, allowing you to use the packages installed in the environment.
Explanation: The ‘shell’ command is used to start a shell within the project’s virtual environment. This command activates the virtual environment and sets up the necessary environment variables.
Example output:
Launching subshell in virtual environment...
$
Use case 8: Generate a requirements.txt
for a project
Code:
pipenv lock --requirements
Motivation: This command is used to generate a requirements.txt
file for a project. It provides a convenient way to export the project’s dependencies in a format that can be used to recreate the environment on another system.
Explanation: The ’lock’ command is used to generate a requirements.txt
file containing the project’s dependencies. The --requirements
argument specifies that only the package names should be included, without any additional details.
Example output:
requests==2.26.0
beautifulsoup4==4.10.0
Conclusion:
‘pipenv’ is a powerful command-line tool for managing Python projects. It simplifies the process of managing dependencies and virtual environments, making it easier to create and maintain Python projects. By following the examples provided in this article, you can leverage the ‘pipenv’ command to create projects, install packages, manage dependencies, and more.