kali安装stegpy报错---虚拟环境问题

报错解释

error: externally-managed-environment × This environment is externally managed ╰─> To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install. If you wish to install a non-Kali-packaged Python package, create a virtual environment using python3 -m venv path/to/venv. Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make sure you have pypy3-venv installed. If you wish to install a non-Kali-packaged Python application, it may be easiest to use pipx install xyz, which will manage a virtual environment for you. Make sure you have pipx installed. For more information, refer to the following: * Pip install and Python's externally managed | Kali Linux Blog * /usr/share/doc/python3.12/README.venv note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages. hint: See PEP 668 for the detailed specification.

这个错误提示表明当前的环境是外部管理的,Kali 系统对这种全局安装 Python 包的操作有限制。

它给出了一些建议的解决方法:

  1. 如果您要安装系统级的 Python 包,可以尝试使用 apt install python3-xyz ,其中 xyz 是您要安装的包的名称。

  2. 如果您想安装非 Kali 打包的 Python 包,可以创建一个虚拟环境。使用 python3 -m venv path/to/venv 来创建虚拟环境,然后使用 path/to/venv/bin/pythonpath/to/venv/bin/pip 进行操作。但要确保您已经安装了 pypy3-venv

  3. 如果您想安装非 Kali 打包的 Python 应用程序,使用 pipx install xyz 可能是最简单的,它会为您管理一个虚拟环境。要确保您已经安装了 pipx

这里的一些关键字解释:

  • externally-managed-environment:表示当前的环境是由外部因素管理和控制的。
  • virtual environment:虚拟环境,是一个隔离的 Python 运行环境,可用于安装特定版本的包和依赖,避免与系统全局的 Python 环境产生冲突。
  • apt:是 Debian 及其衍生系统(如 Kali)中的包管理工具,用于安装、删除和管理系统级的软件包。
  • pip:Python 的包管理工具,用于安装、升级和删除 Python 包。
  • pipx:用于安装和管理独立的 Python 应用程序,并为每个应用程序创建隔离的环境。
  • 全局安装:通常是指将其安装到整个系统的 Python 环境中,使得系统中的所有用户和所有 Python 项目都可以使用这个包。但如在某些系统(比如当前的 Kali 系统)中,全局安装可能会受到限制,或者不被推荐,因为可能会导致前面说过的各种问题,如环境的不稳定、版本冲突等。

解决方案:创建虚拟环境

python3 -m venv path/to/venv 

sudo apt install pypy3-venv  //运行后面代码的前提

解释一下两个代码:

path/to/venv/bin/python 这个指令的作用是启动指定虚拟环境中的 Python 解释器。通过运行这个指令,您可以在该虚拟环境下使用 Python ,并且所安装的包和配置都只在这个虚拟环境中生效,与系统全局的 Python 环境隔离开来。

path/to/venv/bin/pip 指令则是用于在指定的虚拟环境中管理 Python 包。您可以使用它来安装、卸载、升级虚拟环境中的 Python 包。

现在执行第一个指令和第二个指令

安装pypy3-venv时出现报错

正在选中未选择的软件包 pypy3-venv。
准备解压 .../pypy3-venv_7.3.17+dfsg-2_all.deb  ...
正在解压 pypy3-venv (7.3.17+dfsg-2) ...
正在设置 pypy3 (7.3.17+dfsg-2) ...
running pypy3 rtupdate hooks for 7.3
Failed to byte-compile /usr/lib/python3/dist-packages/aiohappyeyeballs/_staggered.py:   File "/usr/lib/python3/dist-packages/aiohappyeyeballs/_staggered.py", line 98
    except* _Done:
          ^
SyntaxError: invalid syntax

running pypy3 post-rtupdate hooks for 7.3
正在设置 pypy3-venv (7.3.17+dfsg-2) ...
正在处理用于 kali-menu (2024.3.1) 的触发器 ...
正在处理用于 man-db (2.13.0-1) 的触发器 ...
Scanning processes...                                                                                                                                      
Scanning linux images...                                                                                                                                   

Running kernel seems to be up-to-date.

No services need to be restarted.

No containers need to be restarted.

No user sessions are running outdated binaries.

No VM guests are running outdated hypervisor (qemu) binaries on this host.

暂时不进行考虑(在后续运用中暂时没有出现问题)继续执行第三条指令。

path/to/venv/bin/pip3 install stegpy -i https://pypi.tuna.tsinghua.edu.cn/simple

下载工具源码

git clone https://gitcode.com/gh_mirrors/st/stegpy.git

返回根目录

进入stegpy目录后执行下列命令完成安装。

sudo python3 setup.py install
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值