由于无法写入普通的 site-packages,因此默认使用用户安装。Python 消息。

23
每当我尝试安装新的Python包时,我首先会收到以下信息:
Defaulting to user installation because normal site-packages is not writeable

尽管我拥有管理员权限并在我的计算机上运行py脚本和安装命令,但我仍然遇到了这个问题。

为什么每次运行 pip 安装之前都会出现这个消息?您有什么想法吗?


这个回答解决了你的问题吗?pip/python:normal site-packages不可写 - ggorlen
5个回答

5

虽然最好避免这种情况,但我发现唯一可行的选项是使用--ignore-installed开关,例如:

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

作为root用户,这样可以允许Python用正确的新版本覆盖所有旧的发行版文件。


这个固定的Jupyter错误在Ubuntu 22.04 LTS上解决了“使用'Python 3.10.6 64位'运行单元格需要笔记本包”。 - handle

2
这是一个旧问题,但它很好地反映了我的问题。在运行 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

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

1

首先,我需要问一下当您打开cmd时,Python是否已添加到路径中?在cmd中键入“python”是否会发生什么事情?如果没有,请尝试将Python添加到路径中,否则如果这样不起作用,请尝试重新安装Python。另外,您使用的是哪个版本的Python?每次尝试安装软件包时都会出现这种情况吗?最后,如果以上方法都不起作用,请尝试更改Python的下载位置,并以管理员/非管理员身份运行cmd,两者都尝试一下。


我删除并重新安装了Python。现在似乎一切都正常了...不知道为什么,但它没有打印出那个消息... - Wallflower
1
我很高兴它能够工作,可能只是 Python 的一个错误。 - Samoshi
1
你如何准确地删除和重新安装Python? - Holger Bille
有点晚了,但您可以通过进入“设置”,然后选择“应用程序”并从那里卸载它来删除它。您也可以再次运行安装程序,并从安装程序中卸载它。 - Samoshi

0
对于不想重新安装 Python 的人,如果你收到默认信息,则只需转到 AppData>Roaming>Python>Python3.(X)>site-packages。剪切与包相关的文件夹(您可以通过查看修改日期来识别),并将这些文件夹粘贴到最初安装 python.exe 的目标位置,然后>Lib>site-packages。希望当您重新启动代码编辑器模块时,它们能够正常工作。我这样做了,它起作用了。

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

好像是 这个答案 的一部分重复了,是吗? - ggorlen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接