所以我最近从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?
1条答案
按热度按时间2admgd591#
Pipenv做了一些不同的事情,包括依赖管理和虚拟环境管理。在Heroku部署的上下文中,询问依赖关系比询问虚拟环境更有意义。我 * 认为 * 您正在尝试从Pipenv切换到 pip,而不是venv。
如果找到了Pipenv配置文件,Heroku会使用Pipenv而不是pip。在这种情况下,完全跳过pip。
如果本地已经切换到pip
pip根本不使用
Pipfile
或Pipfile.lock
文件。如果您已经将本地工作流切换到pip,并且已经拥有最新的
requirements.txt
,则只需删除Pipfile
和Pipfile.lock
,提交并重新部署即可。如果您没有最新的requirements.txt
如果你还没有
requirements.txt
文件,或者它已经过期了,你可以让Pipenv从它的锁文件中为你生成一个:字符串
默认情况下,这将忽略开发需求。这通常是您在部署到Heroku时想要的,但如果需要,链接页面中有一些选项可以以不同的方式处理开发需求。
然后继续删除Pipenv配置文件,提交,并重新部署如上所述。