УНИТе

Портал > Документация > Инсталиране и използване на Python 3 под CentOS 7

Инсталиране и използване на Python 3 под CentOS 7

Съдържание:

  1. Предварителна информация
  2. Инсталиране на пакетите
  3. Използване на различни версии на Python върху една система
  4. Използване на pip за добавяне на модули към колекцията модули на Python 3
  5. Използване на virtualenv с Python 3

 

1. Предварителна информация

Ако не може да инсталирате и използвате Intel Python 3, както е описано в документа "Инсталиране на Intel Python 3 под CentOS 7 и Scientific Linux 7", използвайте SCLo хранилищата към CentOS 7. Не се препоръчва да инсталирате и използвате версиите на Python 3, които се намират в EPEL.

Документът по-долу описва как да инсталирате и използвате Python 3 от SCLo хранилищата и как да добавяте модули към инсталацията.

Не използвайте

 

2. Инсталиране на пакетите

Първо се инсталира пакета с хранилищни настройки (ако вече не е инсталиран):

$ sudo yum install centos-release-scl

и след това съответната версия на Python (една или повече от тях - възможно е и всичките посочени по-долу):

  • Python 3.4:

    $ sudo yum install rh-python34
  • Python 3.5:

    $ sudo yum install rh-python35
  • Python 3.6:

    $ sudo yum install rh-python36

ВАЖНО! Не инсталирайте пакетите rh-pythonXY-numpy и rh-pythonXY-scipy, ако възнамерявате след това да добавяте нови модули и по-специално tensorflow.

Може да проверите какво още е инсталирано от SCLo колецията алтернативни пакети, като изпълните:

$ scl -l

 

3. Използване на различни версии на Python върху една система

След като сте инсталирали избраната от вас версия на Python 3 (една от посочените по-горе и по начина, който е описан там), може да я активирате за използване в текущата сесия на bash (вашия терминал) като изпълните:

  • за версия 3.4:

    $ scl enable rh-python34 bash
  • за версия 3.5:

    $ scl enable rh-python35 bash
  • за версия 3.6:

    $ scl enable rh-python36 bash

След като изпълните един от горните командни редове (в зависимост от версията на Python, която искате да използвате), може да проверите дали наистина сте превключили към желаната версия, като изпълните:

$ which python

Трябва да получите за резултат пътя до изпълнимия файл на Python интерпретатора, например (за версия 3.6):

/opt/rh/rh-python36/root/usr/bin/python

По същия начин може да проверите дали и пътя до инструмента pip е очаквания:

$ which pip

И там трябва да получите нещо от рода на:

/opt/rh/rh-python36/root/usr/bin/pip

От тук нататък, вие сте готови да използвате избраната от вас версия на Python 3, за да изпълнявате чрез нея програмен код на Python.

 

4. Използване на pip за добавяне на модули към колекцията модули на Python 3

  • инсталиране като непривилигерован потребител:

    При този тип инсталация, добавените Python модули се инсталират в ${HOME}/.local/lib/pythonXY, където XY е версията на Python (XY = 34 за 3.6, XY = 35 за 3.5 и XY = 36 за 3.6) и са достъпни само за потребителя, който ги е инсталирал. Например, ако трябва да се добави модула numpy за версия 3.6 на Python, това става след като се активира версия 3.6 по начина, посочен по-горе и се използва инструмента pip:

    $ pip install --user numpy

    След това, натиснете Ctrl-D, за да излезе от текущата сесия на bash, в която имате активиран Python 3.6 и в която сте използвали pip. Активирайте отново Python 3.6:

    $ scl enable rh-python36 bash

    влезте в командния интерпретатор на Python:

    $ python

    и там опитайте да заредите инсталирания преди това модул:

    Python 3.6.3 (default, May 31 2019, 13:05:43) 
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import numpy
    >>>

    и ако не получите съобщение за грешка, то инсталацията на модула е била успешна.

  • инсталиране като привилигерован потребител (sudo):

    ВНИМАНИЕ! Така добавените модули стават използваеми за всички потребители на конкретната версия на Python. Което означава, че ако инсталирате нестабилен модул, това може да засегне работата на всички потребители на тази версия на Python. Извикайте pip чрез sudo, указвайки Python конмандния интерпретатор (избирайки версията му чрез пътя до него):

    $ sudo /opt/rh/rh-python36/root/bin/python /opt/rh/rh-python36/root/bin/pip install scipy

    За да проверите дали инсталацията е протекла успешно, активирайте отново Python 3.6 като потребител:

    $ scl enable rh-python36 bash

    влезте в командния интерпретатор на Python:

    $ python

    и там опитайте да заредите инсталирания преди това модул:

    Python 3.6.3 (default, May 31 2019, 13:05:43) 
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import scipy
    >>>

    и ако не получите съобщение за грешка, то инсталацията на модула е била успешна.

Възможно е по този начин да инсталирате следните модули, подходящи за научни проекти:

  • numpy
  • scipy
  • h5py
  • tables
  • MDAnalysis
  • pandas
  • tensorflow
  • tensorflow_gpu

Ако при инсталирането на модул се налага процес на компилация, то трябва да укажете съответната include директория като стойност на променливата CFLAGS, където да може да бъде намерен файла Python.h (примерът по-долу е за версия на Python 3.6, но може да използвате този шаблон и за версии 3.4 и 3.5):

$ sudo CFLAGS=-I/opt/rh/rh-python36/root/usr/include/python3.6m /opt/rh/rh-python36/root/bin/python /opt/rh/rh-python36/root/bin/pip install python-ldap

 

5. Използване на virtualenv с Python 3

Ако желате да използвате virtualenv инструмента за създаване на виртуална среда за изпълнение на определена версия на Python 3, можете да направите това, използвайки инструмента virtualenv, който е инсталиран с пакетите на Python 3 (виж по-горе относно процеса на инсталация).

За да създадете виртуална среда, в която може да използвате модулите, инсталирани или добавени в последствие, използвайте следната процедура:

  • създайте директория, в която ще се намират файловете на виртуалната среда (интерпретатора на Python 3, конфигурационни файлове и модули):

    $ mkdir ~/virtualenv_1
  • създайте виртуалната среда (за версията на конкретната версия на Python 3, която искате да използвате):

    $ scl enable rh-python36 bash
    $ cd ~/virtualenv_1
    $ virtualenv --system-site-packages -p python .

    При успешно инсталиране, ще получите следните съобщения от типа:

    Running virtualenv with interpreter /opt/rh/rh-python36/root/bin/python
    Using base prefix '/opt/rh/rh-python36/root'
    New python executable in /home/user/virtualenv_1/bin/bin/python
    Installing setuptools, pip, wheel...done.

    Накрая, излезте от bash сесията:

    $ exit

За да използвате създадената виртуална среда, влезте в директорията, изградена по-горе:

$ cd ~/virtualenv_1

и я активирайте:

$ source bin/activate

Ще забележите, че в началото на реда на командния интерпретатор, ще се появи преставка, която указва на това, че използвате виртуална среда:

(virtualenv-1) [user@node001 virtualenv-1]$

В тази виртуална среда може да използвате версията на Python 3, която сте конфигурирали при изграждането ѝ. Проверете това:

(virtualenv-1) [user@node001 virtualenv-1]$ python -V

Като резултат, ще получите версията, например:

Python 3.6.3

За да дезактивирате виртуалната среда (когато сте в нея), изпълнете:

(virtualenv-1) [user@node001 virtualenv-1]$ deactivate

 


Последна актуализация: 4 септември 2019

2019 УНИТе, Веселин Колев