Django Heroku pipfile lock过期

gk7wooem  于 11个月前  发布在  Go
关注(0)|答案(1)|浏览(133)

所以我最近从pipenv转移到venv,现在我试图将我的更改推送到Heroku,我得到:

-----> Installing pip 23.3.1, setuptools 68.0.0 and wheel 0.41.3
-----> Installing dependencies with Pipenv 2023.7.23
       Your Pipfile.lock (old_hash[-6:]) is out of date. Expected: ({new_hash[-6:]}).
       Usage: pipenv install [OPTIONS] [PACKAGES]...

字符串
我如何迁移到venv,而不再使用pipenv在Heroku?我应该删除我的pipfilelock?或者我应该回到pipenv?

2admgd59

2admgd591#

Pipenv做了一些不同的事情,包括依赖管理和虚拟环境管理。在Heroku部署的上下文中,询问依赖关系比询问虚拟环境更有意义。我 * 认为 * 您正在尝试从Pipenv切换到 pip,而不是venv。
如果找到了Pipenv配置文件,Heroku会使用Pipenv而不是pip。在这种情况下,完全跳过pip。

如果本地已经切换到pip

pip根本不使用PipfilePipfile.lock文件。
如果您已经将本地工作流切换到pip,并且已经拥有最新的requirements.txt,则只需删除PipfilePipfile.lock,提交并重新部署即可。

如果您没有最新的requirements.txt

如果你还没有requirements.txt文件,或者它已经过期了,你可以让Pipenv从它的锁文件中为你生成一个:

pipenv requirements > requirements.txt

字符串
默认情况下,这将忽略开发需求。这通常是您在部署到Heroku时想要的,但如果需要,链接页面中有一些选项可以以不同的方式处理开发需求。
然后继续删除Pipenv配置文件,提交,并重新部署如上所述。

相关问题