📜  带有 pipenv 的 conda (1)

📅  最后修改于: 2023-12-03 15:39:24.233000             🧑  作者: Mango

带有 pipenv 的 conda

概述

conda 是一个用于管理 Python 包和环境的开源工具。而 pipenv 是一个高层次的 Python 包管理工具,它将 pip,virtualenv 和其他工具整合到一个工作流程中。它提供了一个习惯性、可重复、可协作的开发工作流。

当将这两个工具结合在一起使用时,就可以将它们各自的优点汇合起来。conda 有着优秀的环境管理和依赖解决能力,而 pipenv 则提供了更好的依赖管理体验。

在本文中,我们将探索如何在 conda 中使用 pipenv。

安装与配置

在开始之前,需要确保至少已经安装了 conda 和 pipenv,如果没有安装,可以使用以下命令安装:

# 安装 conda
$ curl https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh -o miniconda.sh
$ bash miniconda.sh -b -p ~/miniconda
$ export PATH="$HOME/miniconda/bin:$PATH"

# 安装 pipenv
$ brew install pipenv

安装完成后,需要配置 pipenv 的虚拟环境路径:

$ export PIPENV_VENV_IN_PROJECT=true

此命令将在项目的根目录中创建一个虚拟环境。如果您不希望在项目目录内创建虚拟环境,可以将其设置为 false

在 conda 环境中使用 pipenv

要在 conda 环境中使用 pipenv,我们需要创建一个新的 Python 环境并激活它。

$ conda create -n myenv python=3.6
$ conda activate myenv
$ pipenv install

在上述命令中,我们首先创建了一个名为 myenv 的新环境,并指定了 Python 版本为 3.6。然后我们激活了环境,并通过 pipenv install 命令安装了所有必要的软件包。

如果您已经有了一个 conda 环境,并且希望在该环境中使用 pipenv,只需激活该环境并运行 pipenv install 命令即可。pipenv 将自动识别当前的 Python 环境,并安装必要的依赖项。

使用 pipenv 管理依赖

pipenv 的一项最重要的功能是“锁定”您的软件包版本。在创建新的项目时,pipenv 会自动生成一个 Pipfile.lock 文件,其中包含当前环境的所有软件包及其版本。

当其他人加入项目或您的环境需要重建时,只需运行 pipenv install 命令即可。pipenv 将从 Pipfile.lock 文件中读取所有软件包及其版本,并确保环境与所需的软件包及其版本完全一致。

$ pipenv install django

在上述命令中,我们使用 pipenv 将 Django 包添加到环境中。它会自动更新 Pipfile 文件,并在 Pipfile.lock 文件中添加 Django 包及其依赖项的版本信息。

总结

通过结合使用 conda 和 pipenv,我们可以获得一个习惯性、可重复和可协作的 Python 开发工作流。conda 提供出色的环境管理和依赖解决能力,而 pipenv 则提供更出色的依赖管理体验。

在 conda 中使用 pipenv 是一种既简单又有效的方法,它可以帮助我们更轻松地管理 Python 项目,并确保我们的软件包版本一致。