
因?yàn)? Python 環(huán)境是由外部管理的,而不是通過(guò) pip 進(jìn)行管理,所以在安裝的時(shí)候會(huì)報(bào)這個(gè)錯(cuò)誤.
更多詳情可以看官方內(nèi)容
https://realpython.com/python-virtual-environments-a-primer/
pip3 install --timeout=3600 django==3.2.*
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.
暴力方法,強(qiáng)制刪除此警告。
“python3.11” 注意替換為你自己的版本
cd /usr
find ./ -name EXTERNALLY-MANAGED
#./lib/python3.11/EXTERNALLY-MANAGED
mv /usr/lib/python3.11/EXTERNALLY-MANAGED /usr/lib/python3.11/EXTERNALLY-MANAGED.bak
pip3 install --timeout=3600 django==3.2.*
Collecting django==3.2.*
Downloading Django-3.2.25-py3-none-any.whl (7.9 MB)
━━━━━━━━━━━━━━━?━━━━━━━━━━━━━━━━━━━━━━━━ 3.1/7.9 MB 10.6 kB/s eta 0:07:31
優(yōu)雅方法,使用pipx
您在上面看到的涉及手動(dòng)工作。Pipx 使其自動(dòng)化。
它會(huì)自動(dòng)為您安裝的每個(gè)應(yīng)用程序創(chuàng)建一個(gè)新的虛擬環(huán)境。不僅。它還在 中創(chuàng)建指向它的鏈接.local/bin。這樣,安裝該軟件包的用戶就可以從命令行中的任何位置運(yùn)行它。
apt install pipx
pipx ensurepath
然后用 pipx install package_name 安裝
脫庫(kù)子放屁法,使用venv
在 docker 里再構(gòu)件一個(gè)python虛擬環(huán)境
apt install python3-venv
mkdir -p $HOME/.env && python3 -m venv $HOME/.env/project_name
$HOME/.env/project_name/bin/python -m pip install --upgrade pip
$HOME/.env/project_name/bin/python -m pip install django