这会失败(“警告:您的依赖项无法解决。您的子依赖项可能不匹配。”)
#!/usr/bin/env bash
pipenv install requests
pipenv install black --dev
pipenv update requests
由于black only has pre-release versions,更新失败。
# fails with warning
pipenv update requests --pre
# no such option for *update*
pipenv update requests --skip-lock
这意味着每次尝试更新时,我都必须卸载black,然后更新相关的软件包,然后重新安装black。
到目前为止,我发现的只是告诉pip让所有更新都采用最新的预发行包,在这种情况下,是针对黑色的和请求。当只有黑色是永久性的预发行包时,这似乎不是一个好主意。
另外,请注意,在这种情况下,由于--dev依赖关系,pipenv保留了所有内容,而在最终版本中,它们与--dev无关。
答案 0 :(得分:2)
尝试安装黑色的特定版本。
#!/usr/bin/env bash
pipenv install requests
pipenv install black==18.9b0
# the latest as of 2018-12-09
pipenv update requests
pipenv update requests --pre
# afik, the --pre flag here doesn't do anything
cat Pipfile | grep allow_preleases
# avoids allowing prereleases for all packages