opened image

Python-ды Linux-қа орнату. Бірнеше тәсілдер

Python — бұл көпфункционалды бағдарламалау тілі, ол веб-сайттар жасаудан деректерді талдауға дейінгі әртүрлі тапсырмаларды шешуге жарайды. Оның қарапайымдылығы мен әмбебаптығы арқасында әзірлеушілер арасында танымал.

Бұл мақалада біз Python-ды Linux дистрибутивіңізге қалай орнату керектігін айтып береміз.

 

Python-ды орнатудың үш нұсқасын қарастырамыз:

  1. Пакет менеджері арқылы — Python-ды орнатудың ең қарапайым және кең таралған әдісі. Көптеген Linux дистрибутивтерінде Python пакеттері олардың репозиторийлерінде бар.
  2. Дереккөз кодтарынан — бұл әдіс көбірек икемділік береді, бірақ күрделірек болуы мүмкін.
  3. Python үшін пакет менеджері (pyenv) арқылы — ең ыңғайлы әдіс, қосымша конфигурацияларды талап етеді.

 

Python нұсқаларын тексеру

Әдетте, көпшілік Linux дистрибутивтерінде Python 3 нұсқасы стандартты опция ретінде орнатылған. Біз оның нұсқасын терминалды ашып, келесі команданы пайдаланып тексере аламыз.

python3 --version

 

Дегенмен, ескі дистрибутивтерде Python 2 нұсқасы орнатылуы мүмкін, ол үшін келесі команданы қолданамыз 

python --version

 

Пакет менеджері арқылы Python орнату

 

Орнатудан бұрын жүйелік пакеттер мен репозиторийлерді жаңарту қажет, және әртүрлі нұсқалар үшін өз әдістерімізді қарастырамыз

Debian / Ubuntu

sudo apt update && sudo apt upgrade -y


RHEL (Fedora / Almalinux / RockyOS / CentOS)

 

sudo yum update -y

 

Ubuntu дистрибутивтері үшін қолжетімді нұсқалар тізімін кеңейту оңай, deadsnakes репозиторийін қосу арқылы:

 

sudo add-apt-repository ppa:deadsnakes/ppa


Red Hat негізіндегі дистрибутивтер (Fedora / Almalinux / RockyOS / CentOS) үшін EPEL (Extra Packages for Enterprise Linux) репозиторийін қосу оңай:

sudo yum install epel-release -y

Келесіде біз Python-ды орнату үшін қолжетімді нұсқаларды тексеруіміз керек:

Debian / Ubuntu

sudo apt search python | grep ^python


RHEL (Fedora / Almalinux / RockyOS / CentOS)

sudo yum list available | grep ^python


 

Бізге қажетті нұсқаны шектеу үшін команданы енгізуіміз керек (python 3.8 нұсқасы қолжетімді ме, себебі 12 нұсқасы бізде орнатылған)

 

Debian / Ubuntu

sudo apt-cache search python | grep -E ^python3?\.8


RHEL (Fedora / Almalinux / RockyOS / CentOS)

sudo yum list available | grep -E ^python3?\.8

 

Егер тізімде қажетті нұсқа болса, оны орнату үшін команданы қолдануға болады

 

Debian / Ubuntu

sudo apt install python3.8


RHEL (Fedora / Almalinux / RockyOS / CentOS)

sudo yum install python3.8 -y

 

Мұнда маңызды сәт, яғни минорлық нұсқаны нүкте арқылы (python3.10) немесе жоқ (python310) көрсету керек пе, бұл пакеттің нұсқасының атауына байланысты. Бұл туралы біз орнатуға қолжетімді нұсқаларды тексеру үшін қолданған алдыңғы командалардың нәтижесінен біле аламыз.

 

Орнатылған интерпретатор нұсқасына жүгіну үшін команданың ішінде оның нөмірі мен нұсқасын көрсету керек:

 

python3.8 --version


 

Python-ды дереккөз кодынан компиляциялау

 

Python нұсқасын дереккөз кодынан компиляциялау үшін қосымша тәуелділіктерді орнату қажет. Орнатуды келесі командалармен орындаймыз:

 

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 «Даму құралдары»

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

 

Python-ды орнату үшін командалық қабықта жұмыс істеу үшін, нұсқаның нөмірін айнымалы ретінде белгілейік

 

Python-ның қолжетімді нұсқаларын ресми сайттан тексеруге болады https://www.python.org/downloads/source/

 

Архивті дереккөз кодымен жүктеп, шығарып алу керек, содан кейін шығарылған директорияға өту керек, ал тапсырманы жеңілдету үшін Python-ды дереккөз кодынан құрастыру, компиляциялау және орнату қызметін пайдалана аламыз 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

 

Енді конфигурацияны көрсету және компиляцияны бастау керек

 

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

Python-ды пайдалану қажеттіліктерімізге байланысты, ./configure командасына келесі опцияларды қосуға болады. Қазір қосуға болатын мысалдарды келтіреміз:

--prefix=/path/to/directory - Орнату каталогын көрсетеді.

--enable-optimizations - Python үшін оптимизацияны қосады.

--enable-ipv6 - IPv6 желілерін қолдауды қосады.

--with-lto - Link-Time Optimization (LTO) қосады, бұл өнімділікті жақсартады, бірақ компиляция уақытын ұлғайтуы мүмкін.

 

Барлық опциялар мен конфигурация туралы көбірек білу үшін команданы орындау керек

 

./configure --help

 

Содан кейін жұмыс істеу үшін қосымша құралдарды қосуға болады

 

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


 

Бұл кодты іске қосқаннан кейін компиляция өтеді, ол біраз уақыт алады, ал нәтижесінде біз орнатылған нұсқамыздың директориясында болуымыз керек


Енді маңызды қадам, яғни Python-ның дұрыс орнатылғанын тексеру. Біздің орнатылған нұсқамыз үшін 3.9.20- келесі команданы тексереміз:

 

python3.9 --version


Егер бәрі дұрыс жұмыс істесе, онда компиляция процесінде қолданылған дереккөз файлдарын жою керек, себебі олар бізге енді қажет емес:

 

rm -rf /tmp/Python-3.9.20 /tmp/Python-3.9.20.tar.gz

 

Кейде компиляция қателермен аяқталады. Бұл жағдайда орнатуды қайтадан орындау керек, бірақ бұл жолы оптимизациясыз. Бұрынғы компиляция барысында жасалған уақытша файлдарды тазарту керек:

 

sudo make clean; ./configure; sudo make -j «$(nproc)»; sudo make install


 

Python-ды pyenv арқылы орнату

 

Егер жоғарыда аталған әдістер бізге сәйкес келмесе, pyenv-ді сынап көруді ұсынамыз, ол бірнеше жобалармен жұмыс істегенде өте ыңғайлы, олар әртүрлі интерпретатор нұсқаларын талап етеді. Бұл нұсқалар менеджері нұсқалар арасында оңай ауысуға және жобаның тәуелділіктерін оқшаулауға мүмкіндік береді.

 

pyenv-ді орнатпас бұрын, Python-ды компиляциялау үшін қажетті тәуелділіктерді орнату керек, олардың орнату командалары бізге осы мақаладан белгілі, бірақ git пакетін де қосу керек, себебі pyenv-ді git репозиторийінен жүктейміз

 

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 «Даму құралдары»

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

 

Келесіде pyenv-дің соңғы дереккөз тармағын Github репозиторийінен жүктеп, оны ~/.pyenv жолына орнатамыз:

 

git clone https://github.com/pyenv/pyenv.git ~/.pyenv


Енді PYENV_ROOT орта айнымалысын орнату керек, ол pyenv орнатылған жолды көрсетуі керек, және оны экспорттау керек. Содан кейін $PYENV_ROOT/bin-ді PATH-қа қосыңыз, pyenv командалық утилитасын кез келген басқа жүйелік команда сияқты іске қосу үшін. 

 

Сондай-ақ, shims және автотолтыруды қосу үшін pyenv init командалық жолына қосу керек, Python нұсқалары арасында «ұшып» ауысу мүмкіндігі үшін. Барлық конфигурацияларды келесі команданы пайдаланып қосуға болады:

 

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


Осыдан кейін өзгерістерді қолдану керек:

 

source ~/.bashrc

 

Енді орнату жүргізілген пайдаланушының bash қабатында Python нұсқаларын пайдалану, орнату және өзгерту мүмкіндігі бар.

 

Бұл кезеңде қажетті Python нұсқасын орнатуға көшуге болады. Орнатуға қолжетімді нұсқалар тізімін тексеру үшін келесі команданы орындау керек:

 

pyenv install -l


Python нұсқаларын келесі мысал бойынша орнатуға болады:

 

pyenv install 3.12.2

 

 

Содан кейін, қандай нұсқалардың орнатылғанын тексереміз:

 

pyenv versions


Енді әр жоба үшін Python нұсқаларын орнату мүмкіндігі бар. Ол үшін жобамыздың директориясына өту керек:

 

cd /path/to/project/

 

Енді командалық қабатта алдын ала орнатылған Python нұсқасын орнату керек, команданы орындау арқылы pyenv install :

 

pyenv local 3.10.3

 

Енді директорияда Python нұсқасының дұрыс орнатылғанын тексеру керек, командаларды пайдаланып pyenv version немесе python -V.


Қорытынды

Біз Linux-қа Python нұсқаларын орнатудың 3 түрлі әдісін қарастырдық. Ең ыңғайлысы — жүйелік пакет менеджері арқылы орнату әдісі, себебі орнату 2-3 командада өтеді, бірақ серверде әртүрлі нұсқалары бар әртүрлі қосымшалар орналастырылса - Pyenv арқылы орнатуды таңдау жақсы. Бұл әдісті Python қауымдастығы да ұсынады, себебі кез келген нұсқаны бір командамен орнатып, дереу пайдалана бастауға болады.

 

Zomro-да сіз кез келген қажеттіліктер мен қосымшалар үшін сервер таңдай аласыз.