Apo*_*boy 247 python error-handling pip
错误信息:
\n\n\nRun Code Online (Sandbox Code Playgroud)\nerror: externally-managed-environment\n\n\xc3\x97 This environment is externally managed\n\xe2\x95\xb0\xe2\x94\x80> To install Python packages system-wide, try apt install\n python3-xyz, where xyz is the package you are trying to\n install.\n\n If you wish to install a non-Debian-packaged Python package,\n create a virtual environment using python3 -m venv path/to/venv.\n Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make\n sure you have python3-full installed.\n\n If you wish to install a non-Debian packaged Python application,\n it may be easiest to use pipx install xyz, which will manage a\n virtual environment for you. Make sure you have pipx installed.\n\n See /usr/share/doc/python3.11/README.venv for more information.\n\nnote: 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.\nhint: See PEP 668 for the detailed specification.\n
我使用apt升级和更新。
\n小智 196
您可以使用此处venv描述的Python 。
但是,如果您确实想以这种方式安装软件包,那么有几种解决方案:
pip的论点--break-system-packages,~/.config/pip/pip.conf:[global]
break-system-packages = true
Run Code Online (Sandbox Code Playgroud)
Zl3*_*l3n 165
从 Python 3.11+ 开始我就遇到了这个错误,并且我已经使用以下方法传递了这个错误:
sudo rm /usr/lib/python3.11/EXTERNALLY-MANAGED
Run Code Online (Sandbox Code Playgroud)
Alo*_*hor 44
--break-system-packages中的标志允许pip覆盖externally-managed-environment错误并在系统范围内安装 Python 包。
pip install package_name --break-system-packages
Run Code Online (Sandbox Code Playgroud)
注意:不应滥用此标志。
小智 37
我先安装了pipx :
apt install pipx
Run Code Online (Sandbox Code Playgroud)
然后我用来pipx安装radian:
pipx install radian
Run Code Online (Sandbox Code Playgroud)
后来为了确认安装位置(在我的例子中是配置Visual Studio Code),我运行了:
pipx list
Run Code Online (Sandbox Code Playgroud)
jne*_*nes 32
只是
python3 -m venv ~/.local --system-site-packages
Run Code Online (Sandbox Code Playgroud)
确保~/.local/bin在您的道路上
然后使用
~/.local/bin/pip install ... # --user is implied ;)
Run Code Online (Sandbox Code Playgroud)
您也许可以创建自己的~/py目录并从那里初始化所有内容。但是,我认为.local已经被PATH导入目录选取。
Gab*_*ein 13
Python 对于系统管理员来说就像地狱一样......不同的软件使用许多不同东西的不同版本。
有几次,我使用 pip3 安装东西......这会破坏其他东西。有时我将它与“apt-get install”混合使用。
这个错误信息就像天堂一样......因为它迫使我们做正确的事情。这意味着包管理器(Ubuntu,Debian)负责处理依赖项,而不是pip。
您可以使用类似的东西创建一个环境
conda create --name thenameofmyapp python=3.8
Run Code Online (Sandbox Code Playgroud)
使用激活您的环境
conda activate pixray
Run Code Online (Sandbox Code Playgroud)
然后你可以“pip install -r requests.txt”,它不会破坏你的系统:)它只会在特定环境中安装东西。
Anm*_*Anm 12
# rm /usr/lib/python3.11/EXTERNALLY-MANAGED
Lib*_*ber 10
在您的操作系统中设置此环境:
PIP_BREAK_SYSTEM_PACKAGES 1
或者在你的dockerfile中写入:
ENV PIP_BREAK_SYSTEM_PACKAGES 1
https://veronneau.org/python-311-pip-and-breaking-system-packages.html
小智 10
sudo nano /etc/pip.conf [global]
break-system-packages = true
Run Code Online (Sandbox Code Playgroud)
一切都已更新,现在您可以运行pip install <package_name>
小智 8
该问题来自 pip。只需运行该命令,它就会降级。
pip install pip==22.3.1 --break-system-packages
Run Code Online (Sandbox Code Playgroud)
这肯定会有帮助。
| 归档时间: |
|
| 查看次数: |
401723 次 |
| 最近记录: |