Explore the similarities and differences between pipenv environments and virtual environments

PHPz
Release: 2024-01-16 08:50:19
Original
1290 people have browsed it

Explore the similarities and differences between pipenv environments and virtual environments

The difference and connection between pipenv environment and virtual environment require specific code examples

With the increasing popularity of Python, more and more developers are working on Python projects Use virtual environments to isolate dependencies of different projects. The virtual environment can ensure that the Python libraries and their versions that the project depends on are properly managed to avoid various conflicts and version inconsistencies. However, in the past, using virtual environments required third-party libraries such as virtualenv and virtualenvwrapper. Not long ago, the Python community launched a new tool, pipenv, which combines the functions of the package management tool pip and the virtual environment, making it easier to create and manage virtual environments.

So, what are the differences and connections between pipenv environment and virtual environment? Let’s take a closer look.

Difference:

  1. Different creation methods:

    • Virtual environment: Use the virtualenv command to create a virtual environment, and Use pip to install the library.
    • pipenv environment: Use the pipenv command to create a virtual environment, and use pipenv to install the library.
  2. The file structure is different:

    • Virtual environment: In the virtual environment, the library will be installed in the Lib directory .
    • pipenv environment: In the pipenv environment, the library will be installed in the .venv directory.
  3. Manage dependencies in different ways:

    • Virtual environment: To manage dependencies by installing the required libraries in a virtual environment, you can use # The ##pip freeze command saves the library and its version in the current environment to the requirements.txt file.
    • pipenv environment: In the pipenv environment, you can use the
    • pipenv install command to install the entire project directly from the Pipfile or Pipfile.lock file dependencies, you can also use pipenv install to install a single library. At the same time, pipenv will automatically generate Pipfile and Pipfile.lock files to manage dependencies.
Contact:

Whether it is a virtual environment or a pipenv environment, they manage dependent libraries by creating an isolated environment in the project directory to ensure the reliability of the project. Portability and independence. At the same time, using virtual environments and pipenv environments can avoid library conflicts and version inconsistencies.

Below, I will show you specific code examples for creating virtual environments and pipenv environments.

# 创建虚拟环境示例
$ virtualenv venv              # 创建虚拟环境
$ source venv/bin/activate     # 激活虚拟环境
(venv) $ pip install pandas    # 在虚拟环境中安装库
(venv) $ pip freeze > requirements.txt # 将当前环境下的库和版本保存到文件

# 创建pipenv环境示例
$ pipenv --python 3.8          # 指定要使用的Python版本,创建pipenv环境
$ pipenv shell                 # 激活pipenv环境
(pipenv) $ pipenv install pandas   # 在pipenv环境中安装库
(pipenv) $ pipenv install --dev pytest  # 安装开发环境所需的库
(pipenv) $ pipenv lock          # 生成Pipfile.lock文件
Copy after login

To sum up, both the virtual environment and the pipenv environment are designed to solve the problem of Python project dependency management and ensure the portability and independence of the project in different environments. Although the usage methods are somewhat different, they are all very useful tools, and developers can choose the method that suits them according to their own needs.

The above is the detailed content of Explore the similarities and differences between pipenv environments and virtual environments. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template