Heim  >  Artikel  >  Backend-Entwicklung  >  Entdecken Sie die Gemeinsamkeiten und Unterschiede zwischen Pipenv-Umgebungen und virtuellen Umgebungen

Entdecken Sie die Gemeinsamkeiten und Unterschiede zwischen Pipenv-Umgebungen und virtuellen Umgebungen

PHPz
PHPzOriginal
2024-01-16 08:50:191291Durchsuche

Entdecken Sie die Gemeinsamkeiten und Unterschiede zwischen Pipenv-Umgebungen und virtuellen Umgebungen

Der Unterschied und die Verbindung zwischen der Pipenv-Umgebung und der virtuellen Umgebung erfordern spezifische Codebeispiele.

Mit der zunehmenden Beliebtheit von Python verwenden immer mehr Entwickler virtuelle Umgebungen in Python-Projekten, um abhängige Bibliotheken verschiedener Projekte zu isolieren. Die virtuelle Umgebung kann sicherstellen, dass die Python-Bibliotheken und ihre Versionen, von denen das Projekt abhängt, ordnungsgemäß verwaltet werden, um verschiedene Konflikte und Versionsinkonsistenzen zu vermeiden. Allerdings waren in der Vergangenheit für die Verwendung virtueller Umgebungen Bibliotheken von Drittanbietern wie Virtualenv und Virtualenvwrapper erforderlich. Vor nicht allzu langer Zeit hat die Python-Community ein neues Tool namens „pipenv“ auf den Markt gebracht, das die Funktionen des Paketverwaltungstools „pip“ und der virtuellen Umgebung kombiniert und so die Erstellung und Verwaltung virtueller Umgebungen erleichtert.

Was sind also die Unterschiede und Zusammenhänge zwischen der Pipenv-Umgebung und der virtuellen Umgebung? Lass uns genauer hinschauen.

Unterschiede:

  1. Verschiedene Erstellungsmethoden:

    • Virtuelle Umgebung: Verwenden Sie den Befehl virtualenv, um eine virtuelle Umgebung zu erstellen, und verwenden Sie pip, um die Bibliothek zu installieren. virtualenv命令创建虚拟环境,并在其中使用pip来安装库。
    • pipenv环境:使用pipenv命令创建虚拟环境,并在其中使用pipenv来安装库。
  2. 文件结构不同:

    • 虚拟环境:在虚拟环境中,库会被安装在Lib目录下。
    • pipenv环境:在pipenv环境中,库会被安装在.venv目录下。
  3. 管理依赖方式不同:

    • 虚拟环境:通过在虚拟环境中安装所需库来管理依赖关系,你可以使用pip freeze命令将当前环境下的库以及其版本保存到requirements.txt文件中。
    • pipenv环境:在pipenv环境中,你可以使用pipenv install命令直接从PipfilePipfile.lock文件中安装整个项目的依赖,你也可以使用pipenv install <library></library>来安装单个库。同时,pipenv会自动生成PipfilePipfile.lock
    • pipenv-Umgebung: Verwenden Sie den Befehl pipenv, um eine virtuelle Umgebung zu erstellen, und verwenden Sie pipenv, um die Bibliothek zu installieren.


Die Dateistruktur ist anders:

Virtuelle Umgebung: In einer virtuellen Umgebung wird die Bibliothek im Verzeichnis Lib installiert.

pipenv-Umgebung: In der Pipenv-Umgebung wird die Bibliothek im Verzeichnis .venv installiert. 🎜🎜🎜🎜🎜Verwalten Sie Abhängigkeiten auf unterschiedliche Weise: 🎜🎜🎜Virtuelle Umgebung: Verwalten Sie Abhängigkeiten, indem Sie die erforderlichen Bibliotheken in einer virtuellen Umgebung installieren. Sie können den Befehl pip freeze verwenden, um die Bibliotheken in der aktuellen zu kombinieren Umgebung mit ihrer Version wird in der Datei requirements.txt gespeichert. 🎜🎜pipenv-Umgebung: In der Pipenv-Umgebung können Sie den Befehl pipenv install verwenden, um das gesamte Projekt direkt aus Pipfile oder Pipfile.lockzu installieren > Dateiabhängigkeiten können Sie auch pipenv install <library></library> verwenden, um eine einzelne Bibliothek zu installieren. Gleichzeitig generiert pipenv automatisch die Dateien Pipfile und Pipfile.lock, um Abhängigkeiten zu verwalten. 🎜🎜🎜🎜🎜 Kontakt: 🎜 Unabhängig davon, ob es sich um eine virtuelle Umgebung oder eine Pipenv-Umgebung handelt, verwalten sie abhängige Bibliotheken, indem sie eine isolierte Umgebung im Projektverzeichnis erstellen, um die Portabilität und Unabhängigkeit des Projekts sicherzustellen. Gleichzeitig können durch die Verwendung virtueller Umgebungen und Pipenv-Umgebungen Bibliothekskonflikte und Versionsinkonsistenzen vermieden werden. 🎜🎜 Im Folgenden zeige ich Ihnen konkrete Codebeispiele zum Erstellen virtueller Umgebungen und Pipenv-Umgebungen. 🎜
# 创建虚拟环境示例
$ 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文件
🎜Zusammenfassend lässt sich sagen, dass sowohl die virtuelle Umgebung als auch die Pipenv-Umgebung darauf ausgelegt sind, das Problem des Python-Projektabhängigkeitsmanagements zu lösen und die Portabilität und Unabhängigkeit des Projekts in verschiedenen Umgebungen sicherzustellen. Obwohl die Verwendungsmethoden etwas unterschiedlich sind, handelt es sich bei allen um sehr nützliche Tools, und Entwickler können entsprechend ihren eigenen Anforderungen die Methode auswählen, die zu ihnen passt. 🎜

Das obige ist der detaillierte Inhalt vonEntdecken Sie die Gemeinsamkeiten und Unterschiede zwischen Pipenv-Umgebungen und virtuellen Umgebungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn