提问者:小点点

pip/python:普通站点包不可写


我有一个新的Macbook-一个用户安装了它,然后我安装了一个新用户(我的),授予管理员权限并删除了旧用户。我在卡塔琳娜岛上。

自从安装以来,我一直有几个权限问题。VSCode找不到Jupyter笔记本,pip~/Library/Python/3.7/site-packages安装软件包。

当我做哪个python3时,我得到了usr/bin/python3。当我执行pip3安装时

很明显,这是一个权限问题,pip不能安装到“基本”Python,并且他们python找不到我已经安装到~/库/Python/3.7/site-包中的内容。

我尝试过重新安装操作系统,但由于我没有进行干净的安装,所以没有任何改变。我错过了什么?我如何确切地修复权限?我希望在哪里安装软件包(venv当然,但有些软件包我希望是全局的(比如jupyter)。


共3个答案

匿名用户

正如@TomdeGeus在评论中提到的,这个命令对我来说很有用:

Python 3:

python3 -m pip install [package_name]

Python 2:

python -m pip install [package_name]

匿名用户

最好不要直接使用系统提供的Python。别管那个,因为操作系统可以以不希望的方式改变它,就像你经历的那样。

最佳实践是配置您自己的Python版本,并使用virtualenv(对于Python 2)或venv,可能通过poetry,(对于Python 3)对每个项目进行管理。这消除了对系统提供的Python版本的所有依赖,还将每个项目与机器上的其他项目隔离开来。

如果需要,每个项目都可以有不同的Python point版本,并获得自己的site\u包目录,这样pip安装的库也可以根据项目有不同的版本。这种方法是一个主要的避免问题的方法。

匿名用户

python3。7-m pip安装[软件包名称]

(当然,你应该使用你所拥有的版本)

帮我解决了。

投票最多的答案python3-m pip安装[package_name]在这里对我没有帮助。

在我的例子中,这是由于与主要的3.6版本冲突造成的,该版本也是作为默认版本安装的。您可能会问自己,为什么您的系统上有3.6,您现在很可能不会使用该版本。原因是3.6被用作许多软件包安装程序的独立默认python版本。这些安装程序不想检查您使用的单个版本以及是否适合,如果您喜欢或不喜欢,他们只使用3.6作为默认版本。

下面是一个例子的证明--升级pip

pip3安装——升级pip

默认为用户安装,因为正常的站点包不可写
要求已经满足:pip in/home/USERNAME/。local/lib/python3。6/现场包(20.3.1)

python3-mpip安装--升级pip

默认为用户安装,因为正常的站点包不可写
要求已经满足:pip in/home/USERNAME/。local/lib/python3。6/现场包(20.3.1)

python3。7-m pip安装--升级pip

收集pip
缓存条目反序列化失败,条目被忽略
使用缓存https://files.pythonhosted.org/packages/ab/11/2dc62c5263d9eb322f2f028f7b56cd9d096bb8988fcf82d65fa2e4057afe/pip-20.3.1-py2.py3-none-any.whl
安装收集的包:pip成功安装pip-20.3.1