使用pipenv同步而不是pipenv安装有什么优势?

osa*_*901 7 python-3.x pipenv

我正在使用pipenv管理我的python软件包,在我的存储库中,我同时拥有Pipfile和Pipfile.lock版本。我想在我的实时服务器上安装所有python软件包。我应该使用pipenv sync还是pipenv install?为什么?

Jef*_*mon 13

通过查看文档,看起来pipenv install将安装pipfile中的所有依赖项,并使用其使用的版本更新pipfile.lock。 pipenv sync将安装pipfile.lock中指定的确切版本。

我想说的sync是,使您的环境与签入的内容相匹配是更好的选择,install对于您要获取最新版本的环境,还是要添加锁文件中还没有的新依赖项,这是更好的选择。

  • 我很困惑,我来自 Ruby(捆绑程序)世界,我希望 `pipenv install` 完全按照 Pipfile.lock 中指定的方式安装软件包(忽略 Pipfile),然后,`pipenv update` 使用 Pipfile 并更新Pipfile.lock 中的所有包(基本上用新版本重写锁定文件)。`pipenv update name` 应该只更新选定的包(名称)及其依赖项。或者,“部署”标志可以将包保存到项目目录中,以便于“捆绑”或上传到服务器。 (5认同)
  • `sync` 比 `install --deploy --ignore-pipfile` 更好吗? (4认同)
  • 它们看起来在功能上是等效的,但是“sync”感觉更清晰,因为我不得不谷歌“--deploy”和“--ignore-pipfile”的组合甚至做了什么。 (4认同)