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

How to install dependencies from a copied pipfile inside a virtual environment?

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

的环境

理想情况下,我们鼓励您拥有一个 requirements.txt 文件,其中包含通过 pip 安装所需的所有包。您可以通过以下方式创建此文件:

pip freeze > requirements.txt

您可以将 Pipfile 和 Pipfile.lock 转换为 requirements.txt。 Take a look into this

pipenv lock -r

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

pip install -r requirements.txt

希望我回答了你的问题。

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

编辑:如果 virtualenv 已经激活,您也可以使用 pipenv syncpipenv sync --dev 来达到相同的效果。

我遇到了类似的问题。对我来说,我退出了 virtualenv 和 运行

pipenv --three sync

它奏效了。

据我所知,我的想法是使用 python 3 创建一个新的虚拟环境。如果您使用 python 2,上面的命令将被编辑为

pipenv --two

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

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

在 Pipfiel 文件中使用 pipenv sync


此代码以 .lock 文件类型刷新库

pipenv sync

使用这个 运行 virtualenv Pipfile

pipenv shell