Python 如何禁止将程序包添加到Pipenv.lock并由Pipenv安装?
有两个包提供了名为Python 如何禁止将程序包添加到Pipenv.lock并由Pipenv安装?,python,django,pip,pipenv,Python,Django,Pip,Pipenv,有两个包提供了名为jsonfield的模块: 不幸的是,我们有依赖于两个包和两个包的依赖项,虽然可以交换,但将数据以不同的方式存储到数据库中。这导致了一场灾难。此外,不幸的是,Pipenv在安装依赖项时没有任何确定的操作顺序。有时安装django jsonfield,有时安装jsonfield。这意味着有时我们的应用程序会随机中断,因为安装的是jsonfield,而不是django jsonfield 有没有办法禁止将django jsonfield添加到Pipenv.lock中,这样就
jsonfield
的模块:
django jsonfield
,有时安装jsonfield
。这意味着有时我们的应用程序会随机中断,因为安装的是jsonfield
,而不是django jsonfield
有没有办法禁止将
django jsonfield
添加到Pipenv.lock
中,这样就只能安装jsonfield
。。。除了在每次生成后手动编辑Pipfile.lock
,目前我所知没有一个干净的解决方案
你真的应该和罪魁祸首项目的开发者谈谈:
和jsonfield
应为其顶级软件包商定不同的名称django jsonfield
- 或者依赖于
或jsonfield
的项目应该在两者中的一个上达成一致,而放弃另一个django jsonfield
pip
允许在安装新软件包时覆盖已安装的软件包
未经测试: 您可以尝试在不需要的依赖项上设置一个不太可能的标记:
django-jsonfield = { markers="python_version < '2'" }
django jsonfield={markers=“python_version<'2'}
此处给出的示例(您指定特定软件包仅安装在某些系统上)可能会有所帮助:使用标记可以工作。不幸的是,“假”似乎不起作用。