当我从克隆使用pipenv的git项目开始时出现了问题,因此它具有Pipfile + Pipfile.lock。我想在项目中使用虚拟环境,所以我运行pipenv shell
。现在,我创建了一个虚拟环境,并且位于虚拟环境中。该项目显然有很多依赖项(列在Pipfile中)。我不想一遍遍Pipfile中的大列表,然后使用pipenv install <package_name>
安装它们。是否有pipenv / pip命令从我已经拥有的Pipfile安装所有软件包?还是我需要与运行pipenv shell
来设置环境不同?
注意:pip freeze
不返回任何内容。
答案 0 :(得分:3)
此问题的正确答案是应该运行pipenv install
或pipenv install --dev
(如果存在开发依赖项)。这将在Pipefile中安装所有依赖项。将依赖项放入requests.txt,然后使用pip可以正常工作,但这并不是必须的。对于大多数人而言,使用pipenv的全部目的是避免管理require.txt或使用pip。
编辑:如果virtualenv已经被激活,您也可以使用pipenv sync
或pipenv 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