提问人:Wallflower 提问时间:1/20/2021 最后编辑:ggorlenWallflower 更新时间:3/29/2023 访问量:79512
“默认为用户安装,因为普通站点包不可写”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
答:
对于任何不想重新安装 python 的人,如果您收到 defaulter 消息,那么您所要做的就是转到 AppData>Roaming>Python>Python3。(X)>site-packages。剪切与包相关的文件夹(您可以通过查看修改日期来识别),并将文件夹粘贴到最初安装的 python 中.exe目标 then>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
这两个问题的解决方法是:
sudo pip3 uninstall virtualenv
sudo apt install -y python3-virtualenv
对于非 Debian 发行版,这第二个命令会有所不同。
评论