我有一台新的 Macbook - 一个用户安装了它,然后我安装了一个新用户(我的),授予了管理员权限并删除了旧用户。我使用的是 OS Catalina。
自安装以来,我遇到了几个权限问题。VSCode 找不到 Jupyter Notebook,pip 在 安装了包~/Library/Python/3.7/site-packages
。
当我这样做时,which python3
我得到了usr/bin/python3
。当我这样做时,pip3 install <package>
我得到了:Defaulting to user installation because normal site-packages is not writeable
然后它说它已经安装,即使我在导入时无法访问它。
很明显,这是一个权限问题,pip 无法安装到“基础”python,而 python 又找不到我安装的内容~/Library/Python/3.7/site-packages
。
我尝试过重新安装操作系统,但由于我没有进行全新安装,所以什么也没改变。我遗漏了什么?我究竟该如何修复权限?我希望将软件包安装在哪里(venv 当然可以,但有些软件包我希望是全局的(比如 jupyter)。
谢谢
答案1
从我在这里看到的情况来看,没有理由重新开始。这是一个基本的 Python 和 Unix 权限问题,别忘了这是一台 Mac。鉴于您拥有管理员权限,并考虑到 Python 的安装位置以及软件包的位置,我认为没有必要进行全新安装。如果出于某种疯狂的原因(我认为没有),有一个 Python 文件夹的所有权属于旧用户,那么您应该能够获得所有权,因为该文件夹不在他们的主目录中,并且考虑到您具有管理员/sudo 能力。
我首先针对 ~/Library/Python/3.7/site-packages 运行“ls -lah”,看看是否为新包文件夹设置了不同的权限。如果有,请编辑它们,使它们更宽松,或者使它们属于正确的组。