Hur man installerar Python 3.8 på Debian 11 Bullseye

Som standard kommer Debian 11 Bullseye inte med Python 3.8 i sina arkiv, till skillnad från vissa andra distributioner som Ubuntu. Python 3.9 är nu senaste stall funktion release serie av Python 3, med Python 3.10 fortfarande i beta.

För att köra vissa applikationer eller ramverk på Debian 11 kan du behöva installera Python 3.8 på ditt system, till exempel genom att använda Swift-programmeringsramverket som är byggt för att använda Ubuntus LTS-versioner som fortfarande kör de äldre versionerna av Python som standard. Python 3.8 arbetas för närvarande på för säkerhetsversioner, men det är lämpligt att uppgradera till nyare versioner om du utvecklar applikationer.

I följande handledning kommer du att lära dig hur du laddar ner den senaste versionen av Python 3.8, kompilerar och gör den på ditt Debian 11 Bullseye-operativsystem.

Förutsättningar

  • Rekommenderat OS: Debian 11 Bullseye
  • Användarkonto: Ett användarkonto med sudo privilegier or root access (su kommando).
  • Nödvändiga paket: wget

Uppdaterar operativsystem

Uppdatera din Debian 11 operativsystem för att se till att alla befintliga paket är uppdaterade:

sudo apt update && sudo apt upgrade

Root eller Sudo Access

Som standard, när du skapar ditt konto vid start med Debian jämfört med andra distributioner, får det inte automatiskt sudoers-status. Du måste antingen ha tillgång till root-lösenord att använda kommandot su eller besök vår handledning på Hur man lägger till en användare till Sudoers på Debian.

Installera Python 3.8

När du väl har fått nedladdningslänk, Använd wget -kommando för att ladda ner Python 3.8-arkivet:

wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tar.xz

Extrahera Python-arkivet. Kom ihåg att ändra versionsnumret om du laddade ner en nyare:

tar -xf Python-3.8.12.tar.xz
mv Python3.8.12 /opt/Python3.8.12

Installera nu de beroenden som krävs för att installera Python 3.8:

sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev -y

Navigera till katalogen och kör ./configure –enable-optimizations kommando:

cd /opt/Python3.8.12/
./configure --enable-optimizations --enable-shared

Notera, skriptet utför flera kontroller för att säkerställa att alla beroenden på ditt system finns. De ./configure –enable-optimizations kommer att optimera Python-binären genom att köra flera tester, vilket kommer att göra byggprocessen långsammare.

Nu när du har byggt och konfigurerat miljön är det dags att kompilera den med kommandot göra.

make

Ett praktiskt knep är att specificera -j eftersom detta kan öka kompileringshastigheten avsevärt om du har en kraftfull server. Till exempel LinuxCapable servern har 6 processorer, och jag kan använda alla 6 eller åtminstone använda 4 till 5 för att öka hastigheten.

make -j 6

När du har byggt klart installerar du Python-binärfiler enligt följande:

sudo make altinstall

Observera, det rekommenderas att använda gör altinstall kommandot INTE för att skriva över det binära standardsystemet Python 3.

Därefter, efter installationen, måste du konfigurera de dynamiska länkningskörningsbindningarna:

sudo ldconfig /opt/Python3.8.12

Observera, hoppa inte över detta, annars kommer du att möta problem. Du måste också ersätta sökvägen med ditt katalognamn och din version.

Bekräfta att Python 3.8 är installerad och byggversionen genom att köra följande kommando:

python3.8 –version

Exempel utmatning:

Python 3.8.12

Skapa en virtuell miljö

Pythons venv-modul är en virtuell miljö är en Python-miljö så att Python-tolken, biblioteken och skripten som är installerade i den är isolerade från de som är etablerade i andra virtuella miljöer, och (som standard) alla bibliotek som är installerade på ditt operativsystem, till exempel de som är installerade på ditt Ubuntu-operativsystem för att undvika att krocka och störa dina produktionsmiljöer.

För att säkerställa att Python 3.8 är korrekt installerat och fungerar, skapa ett snabbt Python-projekt enligt följande.

Skapa först projektkatalogen och navigera till den:

mkdir ~/test_app && cd ~/test_app

Kör nu följande kommando i projektets rotkatalog för att skapa en virtuell miljö, för testet namnge den test_app:

python3.8 -m venv test_app_venv

Aktivera sedan den virtuella miljön enligt följande:

source test_app_venv/bin/activate

Efter att ha startat den virtuella miljön kommer du nu att vara i skalpromptterminalen. Du kommer att märka att namnet på din miljö kommer att ha prefix.

Exempelvis:

(test_app_venv) root@debian:~/test_app# 

För att lämna den virtuella miljön, använd följande kommando:

deactivate

Python 3.8-PIP

Som standard bör PIP 3.8 vara installerat. För de med PIP-problem är en alternativ metod att installera pakethanteraren manuellt.

Detta kan göras på flera sätt. En av de vanligaste är följande.

Logga tillbaka in i din miljö och ladda sedan ner get-pip.py med wget kommando.

wget https://bootstrap.pypa.io/get-pip.py

Installera sedan den nedladdade filen.

python3.8 get-pip.py

När den väl har installerats är det en bra idé att leta efter uppgraderingar.

python3.8 -m pip install --upgrade pip

Verifiera nu PIP 3.8-versionen installerad:

(test_app_venv) root@debian:/opt/Python3.8.12# pip3.8 --version
pip 21.2.4 from /opt/Python3.8.12/test_app_venv/lib/python3.8/site-packages/pip (python 3.8)

Kommentarer och slutsats

Du har lärt dig hur du installerar Python 3.8 för Debian 11 Bullseye i handledningen och skapar en omedelbar virtuell miljö. Sammantaget rekommenderas det om du är under utveckling att flytta till Python 3.9 i framtiden, men att använda Python 3.8 är fortfarande säkert eftersom Python Software Foundation upprätthåller den.


Inte vad du letade efter? Försök att söka efter ytterligare tutorials.

6 tankar om "Hur man installerar Python 3.8 på Debian 11 Bullseye"

  1. Hej, Tack för den detaljerade förklaringen om hur man installerar Python3.8.12 från tar-filen. Så nu när vi inte har pip tillgängligt i python installerat så här, hur installerar jag några python-paket som till exempel apache-airflow i den här virtuella miljön? Finns det något lättare att få till det här? Alla råd uppskattas. Tack

    Svara
  2. Hej Shahaja,

    Uppdaterade guiden, testade även med att installera apache-airflow vilket fungerade. Hoppas det hjälper lite.

    Utdata från installationen:

    Babel-2.9.1 Flask-Babel-1.0.0 Flask-JWT-Extended-3.25.1 Flask-OpenID-1.3.0 Flask-SQLAlchemy-2.5.1 Mako-1.1.5 WTForms-2.3.3 alembic-1.7.3 har installerats framgångsrikt .3.3.2 anyio-2.1.4 apache-airflow-2.0.1 apache-airflow-providers-ftp-2.0.1 apache-airflow-providers-http-2.0.1 apache-airflow-providers-imap-2.0.1 apache-airflow -providers-sqlite-3.3.2 apispec-1.12.3 argcomplete-20.3.0 attrs-1.4 blinker-1.5.0 cattrs-2021.5.30 certifi-1.14.6 cffi-2.0.6 charset-normalizer-7.1.2 click 20.10.2 clickclick-0.4.4 colorama-5.0.1 colorlog-0.9.1 commonmark-1.0.15 croniter-35.0.0 cryptography-0.7.1 defusedxml-0.3.4 dill-2.1.0 dnspython-0.16 docutils- 1.1.3 email-validator-1.1.4 flask-3.3.3 flask-appbuilder-1.10.1 flask-caching-0.4.1 flask-login-0.14.3 flask-wtf-0.17 graphviz-20.1.0 gunicorn-11 -0.12.0 httpcore-0.13.7 httpx-0.19.0 idna-3.2 importlib-metadata-4.8.1 importlib-resources-1.5.0 inflection-0.5.1 iso8601-0.1.16 isodate-0.6.0 itsdangerous-1.1.0. 2 jinja2.11.3-3.2.0 jsonschema-1.6.0 lazy-object-proxy-0.12.2 l ockfile-3.3.4 markdown-1.1.1 markupsafe-3.13.0 marshmallow-1.5.1 marshmallow-enum-3.0.1 marshmallow-oneofschema-0.23.1 marshmallow-sqlalchemy-1.21.2 numpy-0.1.5 openapi-schema validator-0.3.1 openapi-spec-validator-1.3.3 pandas-2.1.2 pendel-0.2.1 fängelse-5.8.0 psutil-2.20 pycparser-2.10.0 pygments-1.7.1 pyjwt-0.18.0 pyrsistent-2.3.0 .2.8.2 python-daemon-3 python-dateutil-0.15.0 python-nvd4.0.1-3 python-slugify-3.2.0 python2021.3-openid-2020.1 pytz-5.4.1 pytzdata-2.26.0 request-3986ml. 1.5.0 rfc10.11.0-1.2.2 rich-1.16.0 setproctitle-1.2.0 six-1.3.24 sniffio-1.0.0 sqlalchemy-0.37.8 sqlalchemy-jsonfield-0.0.9 sqlalchemy0.8.9-.utils swagger6.2.0-1.1.0ui. -bundle-1.3 tabulate-0.14.1 tenacity-3 termcolor-1.26.7 text-unidecode-1.0.1 unicodecsv-3.6.0 urllibXNUMX-XNUMX werkzeug-XNUMX zipp-XNUMX

    Svara
  3. Den här instruktionen var väldigt praktisk när 3D-utskriftsapplikationen cura vägrade bygga med python 3.9 och insisterade på python version 3.8. Även om jag kan de enskilda stegen, skulle det ha tagit mig lite tid att få dem rätt. Tack för sammanställningen. Det fungerade felfritt på min bullseye-maskin.
    -

    Svara
  4. Tack, det här var superhjälpsamt.
    Jag kunde äntligen installera Svp4Linux med Svptube på nyare Debian 11, eftersom det förlitar sig specifikt på libpython3.8 ... kan komma till nytta även för andra situationer, bra!

    Svara

Lämna en kommentar