[英]Python distutils keyError
我在 setup.py 文件中有一個 disutils 的工作代碼,如下所示
from distutils.command.install import INSTALL_SCHEMES
for scheme in list(INSTALL_SCHEMES.values()):
scheme['data'] = scheme['purelib']
但是今天我嘗試在 github 操作中運行 CI 時出現以下錯誤
Traceback (most recent call last):
File "/home/runner/work/kombu/kombu/setup.py", line 60, in <module>
scheme['data'] = scheme['purelib']
KeyError: 'purelib'
我沒有足夠的資源來找出解決方案,是的 distutils 已被棄用,但是由於代碼一直工作到今天早上,任何人都可以指出正確的解決方法嗎?
我遇到了和你一樣的錯誤。 上周的登台服務器設置工作,本周的生產沒有,相同版本的 python,相同版本的庫。 不確定發生了什么變化。
無論哪種方式:
嘗試將此添加到您的 pip 安裝:
SETUPTOOLS_USE_DISTUTILS=stdlib pip install ....
我降級到 setuptools==58.2.0 現在它又可以正常工作了。
在 CI中限制setuptools有助於擺脫這種回歸
此外,在不久的將來https://github.com/celery/kombu/pull/1467中,仍在考慮從 setup.py 中刪除 distutils hack。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.