kali系统安装python的progressbar库错误
习惯了pip安装软件包,但是在kali这种安全要求更高的系统中,安装非 Debian 打包的 Python 软件包,可以理解为安装第三方库,不允许直接用pip这种方式的;
-
原因
“error: externally-managed-environment”错误通常表示正在尝试在一个被管理的环境中安装Python包,而该环境不允许直接使用pip进行修改。这个主要是为了保护系统包以及避免潜在的依赖问题。
错误信息提升和建议方法其实很清楚了,一开始没有耐心仔细阅读,有时候多一点耐心,慢一点就是快 -
错误信息翻译:
此环境由外部管理
╰─> 要在系统范围内安装 Python 包,请尝试使用 apt install
python3-xyz 的 API 中,其中 xyz 是您尝试的软件包
安装。
如果您希望安装非 Debian 打包的 Python 软件包,
使用 python3 -m venv path/to/venv 创建虚拟环境。
然后使用 path/to/venv/bin/python 和 path/to/venv/bin/pip。做
确定你已经安装了 python3-full。
如果您希望安装非 Debian 打包的 Python 应用程序,
使用 pipx install xyz 可能是最简单的,它将管理
虚拟环境。确保您已安装 pipx。
有关更多信息,请参阅 /usr/share/doc/python3.12/README.venv。
- 重点:请尝试使用 apt install python3-xyz 的 API
在Kali Linux中,通过系统的包管理器来安装某些Python模块,还是更靠谱:
以下使用apt install 成功安装
总结:尽量使用系统自己的包管理器安装包,如果自己包管理器中没有,还有两种方式
- 根据kali的建议2,使用虚拟环境
创建一个虚拟环境是管理Python包的一个好方法,可以避免许多依赖问题。执行以下步骤:
安装python3-venv(如果尚未安装): sudo apt update sudo apt install python3-venv
创建一个新的虚拟环境: python3 -m venv myenv 激活虚拟环境: source myenv/bin/activate
在虚拟环境中安装所需模块: pip install progressbar2 使用完后,可以运行 deactivate 退出虚拟环境。
- 修改pip的设置
如果确实需要在系统级别安装,不建议的做法是修改pip的配置来忽略这个限制,但这通常不推荐。可以编辑$HOME/.config/pip/pip.conf文件,将其内容修改为以下内容:
[global] disable-pip-version-check = true 注意,这种方法可能会导致系统不稳定,因此谨慎使用。