我想在我的 Debian 机器上安装 Pyinstaller,所以我运行了以下命令:
sudo pip3 install pyinstaller
这返回了以下错误:
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-Debian-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 python3-full installed.
If you wish to install a non-Debian 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.
See /usr/share/doc/python3.11/README.venv for more information.
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.
然后我运行了这个:
sudo apt install python3-pyinstaller
返回了这个:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package python3-pyinstaller
我不知道还有什么去尝试。 pip 一直在这样做,但通常使用 apt,我可以非常轻松地安装 Python 包。
该错误消息表明的 Python 安装被外部管理,这在 Debian 上很可能是指 apt 包管理器。这意味着不应该使用 pip 来在全局安装 Python 包,因为这可能会导致冲突。
可以尝试以下两种解决方案:
1. 使用 venv 创建虚拟环境
这是推荐的方法,因为它将的项目依赖项与系统 Python 安装隔离开来。
-
创建一个新的虚拟环境:
bash python3 -m venv myenv
这将在名为myenv
的目录中创建一个新的虚拟环境。可以根据需要更改名称。 -
激活虚拟环境:
bash source myenv/bin/activate
-
现在,可以在虚拟环境中使用 pip 安装 PyInstaller:
bash pip install pyinstaller
这不会与的系统 Python 安装冲突。请记住,每次要处理此项目时,都需要激活虚拟环境。
2. 使用 pip 强制安装(不推荐)
如果确定要全局安装 PyInstaller 并且了解风险,则可以使用
--break-system-packages
标志来覆盖此错误:
bash
sudo pip3 install pyinstaller --break-system-packages
但是,强烈建议不要这样做 ,因为它可能会导致的系统 Python 安装出现问题。 使用虚拟环境是更干净、更安全的选择。
标签:python,pip,debian,apt From: 78814153