КІРУ
    opened image

    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-да сіз кез келген қажеттіліктер мен қосымшалар үшін сервер таңдай аласыз.