在某次 apt-get update 後發現 pip install 出現 TypeError: call() takes exactly 2 arguments (1 given), 所有操作都無法繼續進行
追查了一下錯誤資訊, 發生錯誤的原因是 /Library/Python/2.7/site-packages/packaging/requirements.py 的 59 行
原始程式碼如下
MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker")
比對其他版本的 pip 後, 發現這行應該是
MARKER_EXPR = originalTextFor(MARKER_EXPR)("marker")
於是乎就用正確的程式碼替換掉原來的程式碼, 重新運行 pip install 之後就正常了
pip 官方後續也修復了這個 Bug, 可以使用下列指令進行強制更新
python -m pip install --upgrade --force pip