pipenv安装python-dateutil时哈希值不匹配问题求助
解决Pipenv安装包哈希不匹配及强制指定源下载的问题
问题根源
你配置了pypi和testpypi两个源,Pipenv拉取包时可能优先选择了testpypi关联的test-files.pythonhosted.org资源,导致下载的包哈希与PyPI官方的不一致。虽然文件大小相同,但内容存在差异(可能是传输过程中的数据异常或源同步问题)。
解决方案
1. 给单个包明确指定PyPI源
修改Pipfile的[packages]部分,为受影响的包指定使用pypi源:
[packages] python-dateutil = {version = "==2.8.2", index = "pypi"} # 若cmd2也有问题,同样添加index配置 cmd2 = {version = "你的指定版本", index = "pypi"}
修改后执行:
pipenv install
2. 强制通过PyPI源安装单个包
直接在命令行指定镜像源安装:
pipenv install python-dateutil==2.8.2 --pypi-mirror https://pypi.org/simple
对cmd2等其他受影响的包,执行类似命令:
pipenv install cmd2==指定版本 --pypi-mirror https://pypi.org/simple
3. 明确全局默认源
在Pipfile末尾添加配置,强制全局优先使用PyPI源:
[pipenv] index = "pypi"
之后执行pipenv install会默认从PyPI拉取包。
4. 临时禁用testpypi源
如果不需要从testpypi安装任何包,可临时注释掉该源配置:
# [[source]] # name = "testpypi" # url = "https://test.pypi.org/simple/" # verify_ssl = true
执行pipenv install完成安装后,再恢复该源配置即可。
内容的提问来源于stack exchange,提问作者hundertdrei
相关产品推荐
相关产品推荐

