引言

一般情况下大家都用使用 brew 或 conda 来使用 python, 但是有一些软件没有提供更改 python 的地址。所以极其偶尔需要手动装包。

我记得原来是可以直接使用/usr/bin/python3 -m pip install requests的方式安装的,但是现在好像不行了。

效果展示

过程

这是最终选择的办法,使用 sudo 临时切换权限。

1
2
sudo -i
/usr/bin/python3 -m pip install requests

其他还有一些可选的办法比如关闭 SIP 等,感觉代价有点大,而且麻烦。

另外还有一些无效办法,比如使用--target参数指定有权限的安装位置,但是实际实验好像是不行的。

1
2
/usr/bin/python3 -c "import sys; print(sys.path)"
sudo /usr/bin/python3 -m pip install --target=/Library/Python/3.9/site-packages requests

结论

凑或用,最好就是别用没有的包。因为我虽然安装了 requests,但是使用中却因为有 urllib3 依赖而报错。而 urllib3 又依赖 LibreSSL, 但是本机自带的 LibreSSL 版本过低还不让升级,所以最后还是用 http.client 解决了。

引用