Docker容器debain中pip安裝報(bào)externally-managed-environment錯(cuò)誤

因?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
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容