当我开始克隆一个使用 pipenv 的 git 项目时,问题就出现了,所以它有一个 Pipfile + Pipfile.lock。我想在项目中使用虚拟环境,所以我运行
pipenv shell
。我现在创建了一个虚拟环境,并且我在虚拟环境中。该项目显然有很多依赖项(在 Pipfile 中列出)。我不想一个一个地浏览 Pipfile 中的列表并使用 pipenv install <package_name>
安装它们。是否有 pipenv/pip 命令可以从我已有的 Pipfile 安装所有软件包?或者我可能需要设置与运行不同的环境pipenv shell
?
这个问题的正确答案是
pipenv install
或pipenv install --dev
(如果有开发依赖)应该运行。这将安装 Pipfile 中的所有依赖项。将依赖项放入 requirements.txt 中,然后使用 pip 将起作用,但并不是真正必要的。大多数人使用 pipenv 的全部意义在于避免管理 requirements.txt 或使用 pip 的需要。
编辑:如果 virtualenv 已经激活,您也可以使用
pipenv sync
或 pipenv sync --dev
达到相同的效果。
理想情况下,我们鼓励您拥有一个
requirements.txt
文件,其中包含通过 pip 安装所需的所有包。您可以通过以下方式创建此文件:
pip freeze > requirements.txt
您可以将 Pipfile 和 Pipfile.lock 转换为 requirements.txt。 看看这个
pipenv lock -r > requirements.txt
之后,您可以通过执行以下操作在 python 虚拟环境中安装所有模块:
pip install -r requirements.txt
希望我回答了你的问题。
使用
pipenv sync
安装 Pipfile.lock 中指定的所有包。
我有一个类似的问题。对我来说,我退出 virtualenv 并运行
pipenv --three sync
成功了。
据我所知,这个想法是在我的案例中使用 python 3 创建一个新的虚拟环境。如果你使用的是 python 2,上面的命令将被编辑为读取
pipenv --two
sync 命令将所有依赖项从 Pipfile.lock 复制到新的 virtualenv。
在文件 Pipfiel 中使用 pipenv sync
此代码在文件类型 .lock 中刷新 lib
pipenv sync
使用这个运行 virtualenv Pipfile
pipenv shell
如果您尝试使用 pipenv 从 pipfile 安装依赖项,那么它很简单,首先通过在您的项目目录中运行它来启动或创建新的虚拟环境
pipenv shell
然后从 pipfiles 安装依赖项,在你的 pipfile 所在的目录中运行这个
pipenv install