"Defaulting to user installation because normal site-packages is not writeable" python 留言

"Defaulting to user installation because normal site-packages is not writeable" python message

每当我尝试安装新的 python 软件包时,我都会首先收到此消息:

Defaulting to user installation because normal site-packages is not writeable

即使我拥有管理员权限并且我是 运行 我的 py 脚本和计算机上的安装命令。

知道为什么每次 pip 安装前我都会收到这条消息吗?

提前致谢

首先我要问你打开cmd时,python添加到路径了吗?当您在 cmd 中键入 'python' 时会发生什么事吗?如果没有,请尝试将 python 添加到路径,否则如果不起作用,请尝试重新安装 python。另外你有哪个版本的python?您尝试安装的每个软件包都会发生这种情况吗?最后如果还是不行,试试把python的下载位置和运行cmd改成admin/withoutadmin,两个都试试。

对于不想重新安装 python 的任何人,如果您收到默认消息,那么您所要做的就是转到 AppData>Roaming>Python>Python3 .(X)>站点包。剪切与包相关的文件夹(您可以通过查看修改日期来识别),并将文件夹粘贴到最初安装的 python.exe 目的地然后>Lib>site-packages。希望当您重新启动代码编辑器模块时能够正常工作。我这样做了,它奏效了。

我遇到了这个问题。您可以将包文件复制到 AppData>Roaming>Python>Python3.(X)>script 目录 为我工作!

虽然这很可能是要避免的,但我发现唯一可行的选择是使用 --ignore-installed 开关,例如:

pip install -U --ignore-installed python-openstackclient

作为 root 允许 python 使用正确的新版本覆盖所有旧发行版文件。

这是一个老问题,但它很好地反映了我的问题。在 运行 python3 -m virtualenv myproject 之后,它创建了 myproject/local/bin/activate 而不是 myproject/bin/activate,并且在获取此文件之后,pip3 install some_package 将报告 Defaulting to user installation because normal site-packages is not writeable 并以用户而非虚拟环境继续安装软件包。

这两个问题的解决方法是:

sudo pip3 uninstall virtualenv
sudo apt install -y python3-virtualenv

对于 non-Debian 发行版,第二个命令会有所不同。