Maintenant que yum peut être utilisé, IBM i peut facilement créer divers environnements d'exécution open source, sans se limiter à Python. Veuillez vous reporter à l'article ici (Utilisation de yum avec IBM i) pour la procédure d'installation de yum à l'avance.
Puisque Python2 est installé avec yum, nous allons configurer l'environnement Python3 à partir d'ici.
Vous pouvez utiliser l'interface graphique ACS ou l'interface de ligne de commande SSH pour installer Python3.
Démarrez ACS et ouvrez Open Source Package Management à partir du menu Outils. Spécifiez le système et l'USRPRF pour installer Python3 et cliquez sur [OK] pour continuer. Vous pouvez voir une liste des packages disponibles dans l'onglet Packages disponibles. Il semble que des packages Python3 soient ajoutés de temps en temps. Tout d'abord, j'ai sélectionné deux packages ** python3 ** et ** python3-pip ** et j'ai appuyé sur le bouton [installer]. Une autre fenêtre s'ouvrira et la commande ** yum install ** sera exécutée. Vous pouvez voir qu'un autre package avec une dépendance est également sélectionné en même temps. Exécutez l'installation avec ** y **. Confirmez que l'installation est terminée. Vous pouvez facilement introduire Python avec l'interface graphique ACS. Si vous avez d'autres packages requis, vous pouvez les installer en suivant la même procédure.
En plus d'utiliser l'interface graphique ACS, vous pouvez bien sûr utiliser l'interface de ligne de commande du client SSH comme vous le feriez avec Linux. Connectez-vous à ibmi avec un terminal SSH.
$ ssh user@ibmi
Utilisez bash.
$ bash
Vérifiez les packages liés à python3.
bash-4.4$ yum list | grep python3
python3.ppc64 3.6.9-1 @ibm
python3-pip.noarch 9.0.1-2 @ibm
python3-setuptools.noarch 36.0.1-2 @ibm
python3-wheel.noarch 0.29.0-2 @ibm
python3-Pillow.ppc64 5.0.0-4 ibm
python3-asn1crypto.noarch 0.24.0-0 ibm
python3-bcrypt.ppc64 3.1.4-5 ibm
python3-cffi.ppc64 1.11.5-2 ibm
python3-cryptography.ppc64 2.2.2-4 ibm
python3-dateutil.noarch 2.7.5-0 ibm
python3-devel.ppc64 3.6.9-1 ibm
python3-ibm_db.ppc64 2.0.5.9-0 ibm
python3-idna.noarch 2.8-0 ibm
python3-itoolkit.ppc64 1.6.1-0 ibm
python3-lxml.ppc64 4.2.1-3 ibm
python3-numpy.ppc64 1.15.4-0 ibm
python3-pandas.ppc64 0.22.0-4 ibm
python3-psutil.ppc64 5.5.1-0 ibm
python3-pycparser.ppc64 2.19-1 ibm
python3-pynacl.ppc64 1.2.1-3 ibm
python3-pytz.noarch 2018.5-2 ibm
python3-pyzmq.ppc64 17.1.2-0 ibm
python3-rpm.ppc64 4.13.0.1-17 ibm
python3-scikit-learn.ppc64 0.19.1-6 ibm
python3-scipy.ppc64 1.1.0-0 ibm
python3-six.noarch 1.10.0-0 ibm
python3-tkinter.ppc64 3.6.9-1 ibm
Introduisons des numpy et des pandas supplémentaires.
bash-4.4$ yum install python3-numpy python3-pandas
Setting up Install Process
(Omission)
===================================================================================================================
Package Arch Version Repository Size
===================================================================================================================
Installing:
python3-numpy ppc64 1.15.4-0 ibm 6.3 M
python3-pandas ppc64 0.22.0-4 ibm 20 M
Installing for dependencies:
libblas3 ppc64 3.8.0-0 ibm 173 k
libcblas3 ppc64 3.8.0-0 ibm 49 k
libgcc-aix fat 6.3.0-24 ibm 472 k
libgfortran3 ppc64 6.3.0-24 ibm 1.0 M
liblapack3 ppc64 3.8.0-0 ibm 3.4 M
Transaction Summary
===================================================================================================================
Install 7 Packages
Total download size: 31 M
Installed size: 147 M
Is this ok [y/N]: y
(Omission)
Installed:
python3-numpy.ppc64 0:1.15.4-0 python3-pandas.ppc64 0:0.22.0-4
Dependency Installed:
libblas3.ppc64 0:3.8.0-0 libcblas3.ppc64 0:3.8.0-0 libgcc-aix.fat 0:6.3.0-24 libgfortran3.ppc64 0:6.3.0-24
liblapack3.ppc64 0:3.8.0-0
Complete!
Je pourrais facilement l'ajouter avec la commande yum. Avec un client SSH, vous pouvez gérer un environnement open source avec la commande yum sans savoir qu'il s'agit d'IBM i.
Essayez de lancer Python 3 avec le client ssh.
bash-4.4$ python3
Python 3.6.9 (default, Oct 31 2019, 11:30:53)
[GCC 6.3.0] on aix7
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> import pandas as pd
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/QOpenSys/pkgs/lib/python3.6/site-packages/pandas/__init__.py", line 19, in <module>
"Missing required dependencies {0}".format(missing_dependencies))
ImportError: Missing required dependencies ['pytz', 'dateutil']
Quand j'ai importé ** pandas **, j'ai eu une erreur disant que ** pytz ** et ** dateutil ** sont manquants. Puisqu'il s'agit de Python, j'envisagerai de l'ajouter avec pip, mais dans IBM i, il peut être fourni sous forme de package yum, alors vérifiez d'abord yum.
>>> exit()
bash-4.4$ yum list | grep python3
(Omission)
python3-dateutil.noarch 2.7.5-0 ibm
(Omission)
python3-pytz.noarch 2018.5-2 ibm
Les deux étaient en yum, alors installez-les avec yum.
bash-4.4$ yum install python3-dateutil python3-pytz
Redémarrez Python 3 et essayez d'importer des pandas.
bash-4.4$ python3
Python 3.6.9 (default, Oct 31 2019, 11:30:53)
[GCC 6.3.0] on aix7
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> import pandas as pd
>>> data = pd.Series([1.0, 2.4, 5.3, 7], index=['a', 'b', 'c', 'd'])
>>> data
a 1.0
b 2.4
c 5.3
d 7.0
dtype: float64
>>> exit()
Vous disposez désormais d'un environnement d'exécution Python 3 sur IBM i.
Avec IBM i, vous pouvez facilement préparer votre environnement Python. Puisqu'il prend en charge yum, il peut essentiellement être géré par CLI, mais il semble être IBM i qu'ACS fournit également une interface GUI. Vous pouvez exécuter Python sur votre PC, mais si vous configurez IBM i en tant qu'environnement Python, il sera plus facile de gérer les données IBM i et de développer plus facilement en équipe.
Dans la méthode de cet article, l'environnement d'exécution de Python3 est créé dans l'environnement racine, mais si vous utilisez chroot, vous pouvez virtualiser l'environnement comme un conteneur, afin de pouvoir choisir la combinaison de packages en fonction de votre objectif et nettoyer l'environnement racine. Vous pouvez également profiter de l'open source tout en le préservant.
La prochaine fois, j'aimerais créer un environnement virtuel en utilisant chroot, puis exécuter le notebook jupyter.