“默认为用户安装,因为普通站点包不可写”python 消息

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

提问人:Wallflower 提问时间:1/20/2021 最后编辑:ggorlenWallflower 更新时间:3/29/2023 访问量:79512

问:

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

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

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

有什么想法为什么我在每次安装之前都会收到此消息吗?pip

python 安装 pip

评论

0赞 ggorlen 3/29/2023
这回答了你的问题吗?pip/python:普通的站点包不可写

答:

0赞 ωαƒι вιη нαѕѕαη 11/13/2021 #1

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

0赞 hamidreza bina 12/10/2021 #2

您可以将包文件复制到 AppData>Roaming>Python>Python3。(X)>script 目录

评论

0赞 ggorlen 3/29/2023
似乎是这个答案的一部分的重复,不是吗?
5赞 Nab Eng 12/29/2021 #3

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

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

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

评论

0赞 handle 12/2/2022
修复了 Ubuntu 22.04 LTS 上的 Jupyter 错误“使用'Python 3.10.6 64 位'运行单元需要笔记本包”。
2赞 bitinerant 5/25/2022 #4

这是一个老问题,但它很好地反映了我的问题。运行后,它创建而不是 ,并且在获取此文件后,将报告默认为用户安装,因为普通的站点包不可写,并继续以用户身份而不是虚拟环境安装包。python3 -m virtualenv myprojectmyproject/local/bin/activatemyproject/bin/activatepip3 install some_package

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

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

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