Портал > Документация > Инсталиране и използване на Python 3 под CentOS 7
Инсталиране и използване на Python 3 под CentOS 7
Съдържание:
- Предварителна информация
- Инсталиране на пакетите
- Използване на различни версии на Python върху една система
- Използване на
pip за добавяне на модули към колекцията модули на Python 3
- Използване на
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
|