如何在虚拟环境中从复制的 pipfile 安装依赖项?

问题描述 投票:0回答:6

当我开始克隆一个使用 pipenv 的 git 项目时,问题就出现了,所以它有一个 Pipfile + Pipfile.lock。我想在项目中使用虚拟环境,所以我运行

pipenv shell
。我现在创建了一个虚拟环境,并且我在虚拟环境中。该项目显然有很多依赖项(在 Pipfile 中列出)。我不想一个一个地浏览 Pipfile 中的列表并使用
pipenv install <package_name>
安装它们。是否有 pipenv/pip 命令可以从我已有的 Pipfile 安装所有软件包?或者我可能需要设置与运行不同的环境
pipenv shell

python pip virtualenv pipenv
6个回答
101
投票

这个问题的正确答案是

pipenv install
pipenv install --dev
(如果有开发依赖)应该运行。这将安装 Pipfile 中的所有依赖项。将依赖项放入 requirements.txt 中,然后使用 pip 将起作用,但并不是真正必要的。大多数人使用 pipenv 的全部意义在于避免管理 requirements.txt 或使用 pip 的需要。

编辑:如果 virtualenv 已经激活,您也可以使用

pipenv sync
pipenv sync --dev
达到相同的效果。


27
投票

理想情况下,我们鼓励您拥有一个

requirements.txt
文件,其中包含通过 pip 安装所需的所有包。您可以通过以下方式创建此文件:

pip freeze > requirements.txt

您可以将 Pipfile 和 Pipfile.lock 转换为 requirements.txt。 看看这个

pipenv lock -r > requirements.txt

之后,您可以通过执行以下操作在 python 虚拟环境中安装所有模块:

pip install -r requirements.txt

希望我回答了你的问题。


7
投票

使用

pipenv sync
安装 Pipfile.lock 中指定的所有包。


4
投票

我有一个类似的问题。对我来说,我退出 virtualenv 并运行

pipenv --three sync

成功了。

据我所知,这个想法是在我的案例中使用 python 3 创建一个新的虚拟环境。如果你使用的是 python 2,上面的命令将被编辑为读取

pipenv --two

sync 命令将所有依赖项从 Pipfile.lock 复制到新的 virtualenv。


3
投票

在文件 Pipfiel 中使用 pipenv sync


此代码在文件类型 .lock 中刷新 lib

pipenv sync

使用这个运行 virtualenv Pipfile

pipenv shell

0
投票

如果您尝试使用 pipenv 从 pipfile 安装依赖项,那么它很简单,首先通过在您的项目目录中运行它来启动或创建新的虚拟环境

pipenv shell

然后从 pipfiles 安装依赖项,在你的 pipfile 所在的目录中运行这个

pipenv install
© www.soinside.com 2019 - 2024. All rights reserved.