89 lines
3.0 KiB
ReStructuredText
89 lines
3.0 KiB
ReStructuredText
=================================
|
|
Python, Oracle, MSSQL et CentOS 7
|
|
=================================
|
|
|
|
:tags: centos, oracle, mssql, django, db
|
|
|
|
J'avais déjà parlé de la `configuration de Python sur CentOS 6 <{filename}/content/system/2015-03-09 python27-centos.md>`_; parce que je m'y perds constamment, voici un petit aide-mémoire pour la configuration de Python 3 sur CentOS 7.
|
|
|
|
* `EPEL <https://fedoraproject.org/wiki/EPEL>`_ = Extra Packages for Enterprise Linux.
|
|
* `SCL <https://wiki.centos.org/AdditionalResources/Repositories/SCL>`_ =
|
|
|
|
En gros, les EPEL sont des paquets maintenus par la communauté Fedora et rappatriés vers CentOS/RedHat. Les SCL sont des collections de packages remontés depuis RedHat.
|
|
|
|
Pour activer la dernière version des EPEL, tapez de vos petits doigts grassouillets:
|
|
|
|
.. code-block:: shell
|
|
|
|
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
|
sudo rpm -Uvh epel-release-latest-7.rpm
|
|
|
|
Après l'activation des EPEL sur CentOS 7, ``pip`` n'est pas installé en version 3.4. Comme on en aura besoin pour installer les environnements virtuels, il y a deux manières de faire: soit on télécharge le paquet d'installation de pip, soit on passe par ``easy_install`` (qui est dispo, lui):
|
|
|
|
.. code-block:: shell
|
|
|
|
# valable pour les deux
|
|
|
|
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
|
rpm -Uvh epel-release-7*.rpm
|
|
yum install epel-release
|
|
yum install git python34 htop unixODBC unixODBC-devel gcc-c++
|
|
|
|
# méthode 1
|
|
|
|
curl https://bootstrap.pypa.io/get-pip.py | python3
|
|
pip3 install virtualenvwrapper
|
|
|
|
# méthode 2
|
|
|
|
easy_install-3.4 pip
|
|
pip install virtualenvwrapper
|
|
|
|
Oracle
|
|
======
|
|
|
|
Rendez-vous sur la `page suivante <http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html>`_ pour y télécharger les fichiers suivants:
|
|
|
|
* oracle-instantclient12.1-basic
|
|
* oracle-instantclient12.1-sqlplus
|
|
* oracle-instantclient12.1-devel
|
|
|
|
Procédez ensuite à l'installation et ajoutez le *path* dans ``ldconfig``:
|
|
|
|
.. code-block:: shell
|
|
|
|
rpm -Uvh oracle-instantclient12.1-basic*
|
|
rpm -Uvh oracle-instantclient12.1-sqlplus
|
|
rpm -Uvh oracle-instantclient12.1-devel
|
|
|
|
echo "/usr/lib/oracle/12.1/client64/lib" >/etc/ld.so.conf.d/oracle.conf
|
|
ldconfig
|
|
|
|
Pour finir: ``pip install cx_Oracle -U``.
|
|
|
|
MMSQL
|
|
=====
|
|
|
|
Pour MMSQL, si vous avez suivez les étapes pas-à-pas, vous devriez déjà avoir les dépendances sur le serveur, grâce aux paquets ``unixODBC`` et ``unixODBC-devel``. Il est plus que probable que vous deviez également installer ``gcc-c++``.
|
|
|
|
Pour finir (again): ``pip install django-pyodbc-azure``.
|
|
|
|
Configuration
|
|
=============
|
|
|
|
.. code-block:: python
|
|
|
|
DATABASES = {
|
|
'sqlite_db': {
|
|
'ENGINE': 'django.db.backends.sqlite3',
|
|
[...]
|
|
},
|
|
'oracle_db' : {
|
|
'ENGINE' : 'django.db.backends.oracle',
|
|
[...]
|
|
},
|
|
'mssql_db' : {
|
|
'ENGINE':'sql_server.pyodbc',
|
|
[...]
|
|
},
|
|
} |