Python — ir daudzfunkcionāla programmēšanas valoda, kas piemērota dažādu uzdevumu risināšanai, sākot no tīmekļa vietņu izveides līdz datu analīzei. Tā ir populāra starp izstrādātājiem, pateicoties tās vienkāršībai un universālajai pielietojamībai.
Šajā rakstā mēs pastāstīsim, kā instalēt Python uz jūsu Linux izplatījuma.
Mēs apskatīsim trīs Python instalēšanas iespējas:
- Izmantojot pakotņu pārvaldnieku — visvienkāršākais un izplatītākais Python instalēšanas veids. Lielākajā daļā Linux izplatījumu jau ir Python pakotnes to repozitorijos.
- No avota kodu — šī metode nodrošina lielāku elastību, bet var izrādīties sarežģītāka.
- Izmantojot Python pakotņu pārvaldnieku (pyenv) — visērtākais veids, kas prasa papildu iestatījumus.
Python versiju pārbaude
Parasti lielākajā daļā Linux izplatījumu jau ir instalēta Python 3 versija kā standarta opcija. Mēs varam pārbaudīt tās versiju, izmantojot sekojošo komandu, atverot termināli.
python3 --version
Tomēr novecojušos izplatījumos var būt instalēta Python 2 versija, tad izmantojam komandu
python --version
Python instalēšana caur pakotņu pārvaldnieku
Pirms instalēšanas ir nepieciešams atjaunināt sistēmas pakotnes un repozitorijus, un šeit apskatīsim dažādus veidus dažādām versijām
Debian / Ubuntu
sudo apt update && sudo apt upgrade -y
RHEL (Fedora / Almalinux / RockyOS / CentOS)
sudo yum update -y
Ubuntu izplatījumiem mums ir viegli paplašināt pieejamo versiju sarakstu, pievienojot deadsnakes repozitoriju:
sudo add-apt-repository ppa:deadsnakes/ppa
Red Hat (Fedora / Almalinux / RockyOS / CentOS) izplatījumiem ir viegli pievienot EPEL (Extra Packages for Enterprise Linux) repozitoriju:
sudo yum install epel-release -y
Tālāk mums jāpārbauda, kādas Python versijas ir pieejamas instalēšanai:
Debian / Ubuntu
sudo apt search python | grep ^python
RHEL (Fedora / Almalinux / RockyOS / CentOS)
sudo yum list available | grep ^python
Lai ierobežotu nepieciešamo versiju, ir jāievada komanda, piemēram (meklējam, vai pieejama python 3.8 versija, jo 12. versija mums jau ir instalēta)
Debian / Ubuntu
sudo apt-cache search python | grep -E ^python3?\.8
RHEL (Fedora / Almalinux / RockyOS / CentOS)
sudo yum list available | grep -E ^python3?\.8
Ja sarakstā ir nepieciešamā versija, to var instalēt, izmantojot komandu
Debian / Ubuntu
sudo apt install python3.8
RHEL (Fedora / Almalinux / RockyOS / CentOS)
sudo yum install python3.8 -y
Šeit ir svarīgs moments, proti, vai jānorāda mazā versija ar punktu (python3.10) vai bez (python310), atkarīgs no tā, kā sauc pakotni versijai. To var uzzināt no iepriekšējo komandu izpildes rezultātiem, kuras mēs izmantojām, lai pārbaudītu pieejamās versijas instalēšanai.
Lai piekļūtu instalētajai interpretatora versijai, ir jānorāda tās numurs un versija komandā:
python3.8 --version
Python kompilācija no avota koda
Python versijas kompilācijai no avota koda ir nepieciešama papildu atkarību instalācija. Veicam instalāciju ar sekojošām komandām:
Debian / Ubuntu
sudo apt-get install -y make curl build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
RHEL (Fedora / Almalinux / RockyOS / CentOS)
sudo yum -y install epel-release
sudo yum -y groupinstall «Izstrādes rīki»
sudo yum -y install curl gcc make zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel tk-devel
Lai atvieglotu turpmāko darbu ar Python instalāciju komandrindas mainīgajos, nosakām versijas numuru kā mainīgo
Pārbaudīt pieejamo Python versiju sarakstu var oficiālajā vietnē https://www.python.org/downloads/source/
Jālejuplādē un jāizpako arhīvs ar avota kodu, pēc tam jāpāriet uz izpakoto direktoriju, un, lai atvieglotu uzdevumu, varam izmantot servisu Build, compile and install Python from source code https://www.build-python-from-source.com/
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev liblzma-dev tk-dev
cd /tmp/
wget https://www.python.org/ftp/python/3.9.20/Python-3.9.20.tgz
tar xzf Python-3.9.20.tgz
cd Python-3.9.20
Tagad norādām konfigurāciju kompilācijai un uzsākam kompilāciju
sudo ./configure --prefix=/opt/python/3.9.20/ --enable-optimizations --with-lto --with-computed-gotos --with-system-ffi --enable-shared
sudo make -j "$(nproc)"
sudo ./python3.9 -m test -j "$(nproc)"
sudo make altinstall
sudo rm /tmp/Python-3.9.20.tgz
Atkarībā no mūsu Python lietošanas vajadzībām varam pievienot sekojošas opcijas komandai ./configure, kuru mēs izmantojām iepriekš. Tagad sniegsim piemērus tam, ko varam pievienot:
--prefix=/path/to/directory - Norāda instalācijas katalogu.
--enable-optimizations - Iekļauj optimizāciju Python.
--enable-ipv6 - Iekļauj IPv6 tīklu atbalstu.
--with-lto - Iekļauj Link-Time Optimization (LTO), kas uzlabos veiktspēju, bet var palielināt kompilācijas laiku.
Lai uzzinātu vairāk par visām opcijām, konfigurāciju, ir jāizpilda komanda
./configure --help
Tālāk varam pievienot papildu rīkus darbam
sudo /opt/python/3.9.20/bin/python3.9 -m pip install --upgrade pip setuptools wheel
sudo ln -s /opt/python/3.9.20/bin/python3.9 /opt/python/3.9.20/bin/python3
sudo ln -s /opt/python/3.9.20/bin/python3.9 /opt/python/3.9.20/bin/python
sudo ln -s /opt/python/3.9.20/bin/pip3.9 /opt/python/3.9.20/bin/pip3
sudo ln -s /opt/python/3.9.20/bin/pip3.9 /opt/python/3.9.20/bin/pip
sudo ln -s /opt/python/3.9.20/bin/pydoc3.9 /opt/python/3.9.20/bin/pydoc
sudo ln -s /opt/python/3.9.20/bin/idle3.9 /opt/python/3.9.20/bin/idle
sudo ln -s /opt/python/3.9.20/bin/python3.9-config /opt/python/3.9.20/bin/python-config
Šī koda izpildes rezultātā notiks kompilācija, kas aizņems kādu laiku, un rezultātā mums jānonāk mūsu instalētās versijas direktorijā
Tagad ir svarīgs solis, proti, jāpārbauda Python instalācijas pareizība. Mūsu instalētajai versijai 3.9.20 - pārbaudām ar sekojošo komandu:
python3.9 --version
Ja viss darbojas pareizi, tad jāizdzēš avota koda faili, no kuriem mēs veicām kompilāciju, jo tie mums vairs nav nepieciešami:
rm -rf /tmp/Python-3.9.20 /tmp/Python-3.9.20.tar.gz
Ir gadījumi, kad kompilācija beidzas ar kļūdām. Tādā gadījumā ir jāveic atkārtota instalācija, bet šoreiz bez optimizācijas. Pirms tam ir jāveic pagaidu failu tīrīšana, kas tika izveidoti mūsu iepriekšējās kompilācijas procesā:
sudo make clean; ./configure; sudo make -j «$(nproc)»; sudo make install
Python instalēšana caur pyenv
Ja iepriekš minētās metodes mums nepiemērojas, tad iesakām izmēģināt pyenv, tas ir ļoti ērti, ja nepieciešams strādāt pie vairākiem projektiem, kuriem nepieciešamas dažādas interpretatora versijas. Šis versiju pārvaldnieks ļauj viegli pārslēgties starp versijām un izolēt projekta atkarības.
Pirms pyenv instalēšanas ir jāinstalē atkarības, kas nepieciešamas Python kompilācijai, komandas to instalēšanai mums jau ir zināmas no šī raksta iepriekš, bet būs jāpieprasa arī git pakotne, jo pyenv lejupielādēsim no git repozitorija
Debian / Ubuntu
sudo apt install -y curl git-core gcc make zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libssl-dev build-essential libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
RHEL (Fedora / Almalinux / RockyOS / CentOS)
sudo yum -y install epel-release
sudo yum -y groupinstall «Izstrādes rīki»
sudo yum -y install git curl gcc make zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel tk-devel
Tālāk lejupielādējam jaunāko pyenv avota kodu no repozitorija uz Github un instalējam to ceļā ~/.pyenv :
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
Tagad ir jāiestata vides mainīgais PYENV_ROOT, lai tas norādītu uz ceļu, kur jūs instalējāt pyenv, un jāeksportē tas. Pēc tam pievienojiet $PYENV_ROOT/bin PATH, lai palaistu pyenv komandrindas utilītu kā jebkuru citu sistēmas komandu.
Jums arī jāieslēdz shims un automātiskā pabeigšana, pievienojot pyenv init komandrindai, lai varētu pārslēgties starp Python versijām «uz vietas». Jūs varat pievienot visas konfigurācijas, izmantojot sekojošo komandu:
echo -e "\n## pyenv configs\nexport PYENV_ROOT=\"\$HOME/.pyenv\"\nexport PATH=\"\$PYENV_ROOT/bin:\$PATH\"\n\nif command -v pyenv 1>/dev/null 2>&1; then\n eval \"\$(pyenv init -)\"\nfi" >> ~/.bashrc
## pyenv configs
export PYENV_ROOT=«$HOME/.pyenv»
export PATH=«$PYENV_ROOT/bin:$PATH»
if command -v pyenv 1>/dev/null 2>&1; then
eval «$(pyenv init -)»
fi
Pēc tam ir jāpiemēro izmaiņas:
source ~/.bashrc
Tagad jūsu lietotāja bash līmenī, no kura tika veikta instalācija, ir iespēja izmantot, instalēt un mainīt Python versijas.
Šajā posmā varat pāriet tieši uz nepieciešamās Python versijas instalēšanu. Pārbaudīt pieejamo instalēšanai versiju sarakstu var, izpildot sekojošo komandu:
pyenv install -l
Python versijas var instalēt pēc sekojoša parauga:
pyenv install 3.12.2
Tad pārbaudām, kādas versijas jau ir instalētas:
pyenv versions
Tagad mums ir iespēja instalēt Python versijas katram projektam atsevišķi. Lai to izdarītu, ir jāieiet mūsu projekta direktorijā:
cd /path/to/project/
Tagad komandrindas līmenī ir jāinstalē Python versija, kuru mēs iepriekš instalējām, izmantojot komandu pyenv install :
pyenv local 3.10.3
Tagad ir jānoskaidro, vai, atrodoties direktorijā, versija mūsu projektam ir pareizi instalēta, izmantojot komandas pyenv version vai python -V.
Secinājums
Mēs apskatījām 3 dažādus veidus, kā instalēt Python versijas Linux. Visērtākais ir instalācijas veids caur sistēmas pakotņu pārvaldnieku, jo instalācija notiek 2-3 komandās, tomēr, ja serverī var atrasties dažādas lietojumprogrammas ar dažādām versijām - labāk izvēlēties instalāciju caur Pyenv. Šo metodi iesaka arī Python kopiena, jo jebkuru versiju var instalēt ar vienu komandu un uzreiz sākt to izmantot.
Zomro jūs varat izvēlēties serveri jebkurām vajadzībām un jebkurām lietojumprogrammām.