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

时间:2018-09-04 17:49:01

标签: python pip virtualenv pipenv

当我从克隆使用pipenv的git项目开始时出现了问题,因此它具有Pipfile + Pipfile.lock。我想在项目中使用虚拟环境,所以我运行pipenv shell。现在,我创建了一个虚拟环境,并且位于虚拟环境中。该项目显然有很多依赖项(列在Pipfile中)。我不想一遍遍Pipfile中的大列表,然后使用pipenv install <package_name>安装它们。是否有pipenv / pip命令从我已经拥有的Pipfile安装所有软件包?还是我需要与运行pipenv shell来设置环境不同? 注意:pip freeze不返回任何内容。

5 个答案:

答案 0 :(得分:3)

此问题的正确答案是应该运行pipenv installpipenv install --dev(如果存在开发依赖项)。这将在Pipefile中安装所有依赖项。将依赖项放入requests.txt,然后使用pip可以正常工作,但这并不是必须的。对于大多数人而言,使用pipenv的全部目的是避免管理require.txt或使用pip。

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

答案 1 :(得分:1)

理想情况下,建议您使用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

希望我回答了你的问题。

答案 2 :(得分:1)

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

pipenv --three sync

成功了。

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

pipenv --two

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

在文件 Pipfiel 中使用 pipenv 同步


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

pipenv sync

使用这个运行 virtualenv Pipfile

pipenv shell