ein*_*lum 6 permissions python software-installation pip python3
我刚刚手动安装了 Devuan GNU/Linux chimaera 和一堆软件包。还安装了python-is-python3
。
我现在运行,例如:
\npip install pymonetdb\n
Run Code Online (Sandbox Code Playgroud)\n我得到:
\nDefaulting to user installation because normal site-packages is not writeable\nCollecting pymonetdb\n Downloading pymonetdb-1.6.2-py2.py3-none-any.whl (74 kB)\n \xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81 74.6/74.6 kB 867.9 kB/s eta 0:00:00\nInstalling collected packages: pymonetdb\nSuccessfully installed pymonetdb-1.6.2\n
Run Code Online (Sandbox Code Playgroud)\n我想知道为什么我收到有关站点包不可写的消息。是因为我不是root用户吗?但如果是这种情况,它甚至不应该尝试写入某些仅根文件夹。如果不是因为我不是 root - 哪个目录具有不适当的权限,需要我修复(或让 root 用户修复)?
\n我想知道为什么我收到有关站点包不可写的消息。
这是因为 pip 默认尝试安装到系统范围的目录(“site-packages”)。
是因为我不是root用户吗?
是的。
但如果是这种情况,它甚至不应该尝试写入某些仅根文件夹。
事实上,它不应该:它知道它是由非 root 用户运行的,并且知道它因此几乎肯定会失败,因此在这种情况下不应该默认尝试安装到用户特定的目录(如果不是总是如此)。但是 - 它仍然会尝试、失败和抱怨,这很愚蠢,但这正是开发人员出于某种原因认为他们应该做的事情。
您可以通过像这样运行它来避免警告:
pip install --user some_package_name
Run Code Online (Sandbox Code Playgroud)
...但恕我直言,真正应该发生的是有人提交有关此问题的错误报告,并依靠开发人员不要尝试失败。