Anaconda: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
(Marked this version for translation)
(Add reasons why not to install Anaconda, and how to transition to Virtualenv)
Line 3: Line 3:
<translate>
<translate>
<!--T:24-->
<!--T:24-->
'''Attention:''' Alors que Conda fonctionne bien dans l'environnement d'un ordinateur personnel, il a tendance à créer plus de problèmes qu'il en résout dans le contexte d'une grappe. Par exemple, Conda installe très souvent des logiciels (compilateurs, bibliothèques scientifiques etc.) qui existent déjà sur les grappes de Calcul Canada comme modules, avec une configuration qui est loin d'être optimale. Avec l'installation de tous ces logiciels par Conda, vous risquez aussi de dépasser le quota sur le nombre de fichiers dans votre espace personnel.
Anaconda est une distribution de Python. Nous demandons à nos utilisateurs de '''ne pas installer Anaconda sur nos grappes'''.


<!--T:25-->
== N'installez pas Anaconda sur nos grappes ==
Pour ces raisons, on exige que les usagers se tournent vers des outils comme un environnement virtuel ou des paquets binaires (Python wheels), qui sont documentés sur la page [[Python]], ou bien l'usage de [[Singularity]] et une image Docker.


Nous sommes conscients qu'Anaconda est largement utilisé dans plusieurs domaines étudiés par nos utilisateurs (la science des données, l'IA, la bioinformatique, etc). Anaconda est une solution intéressante pour simplifier la gestion de Python et de librairies sur un ordinateur personnel. Cependant, sur une grappe comme celles maintenues par Calcul Canada, la gestion des librairies doit être faite par notre personnel, afin d'assurer une compatibilité et une performance maximales. Voici un liste de raisons:


* Anaconda installe très souvent des logiciels (compilateurs, bibliothèques scientifiques etc.) qui existent déjà sur les grappes de Calcul Canada comme modules, avec une configuration qui n'est pas optimale.
* installe des binaires qui ne sont pas optimisés pour les processeurs de nos grappes.
* fait de mauvaises suppositions sur l'emplacement de bibliothèques.
* s'installe dans le <code>$HOME</code> par défaut, où il place une énorme quantité de fichiers. L'installation d'Anaconda seule peut prendre près de la moitié de votre quota sur le nombre de fichiers dans votre espace personnel. 
* est plus lent pour installer des paquets
* modifie <code>$HOME/.bashrc</code>, ce qui peut causer des conflits.
== Comment transitionner de Conda vers Virtualenv ==
[[Python#Creating_and_using_a_virtual_environment|Virtualenv]] vous offre toutes les fonctionnalités dont vous avez besoin pour utiliser Python sur nos grappes. Voici comment passer à Virtualenv si vous utilisez Anaconda sur votre ordinateur personnel:
# Listez les dépendances (requirements) de l'application que vous voulez utiliser.
# Trouvez quelles dépendances sont des paquets Python, et lesquelles sont des librairies fournies par Anaconda. Par exemple, CUDA et CuDNN sont des librairies disponible sur l'Anaconda Cloud, mais que vous ne devez pas installer vous-même sur nos grappes. Elles sont déjà installées.
# Retirez de la liste de dépendance tout ce qui n'est pas un paquet Python (par exemple, retirez <code>cudatoolkit</code> et <code>cudnn</code>).
# Utilisez un [[Python#Creating_and_using_a_virtual_environment|virtualenv]], dans lequel vous installerez ces dépendances.
Votre application devrait fonctionner. Si ce n'est pas le cas, n'hésitez pas à contacter notre soutien technique.


</translate>
</translate>

Revision as of 16:25, 19 February 2020

Other languages:

Anaconda est une distribution de Python. Nous demandons à nos utilisateurs de ne pas installer Anaconda sur nos grappes.

N'installez pas Anaconda sur nos grappes

Nous sommes conscients qu'Anaconda est largement utilisé dans plusieurs domaines étudiés par nos utilisateurs (la science des données, l'IA, la bioinformatique, etc). Anaconda est une solution intéressante pour simplifier la gestion de Python et de librairies sur un ordinateur personnel. Cependant, sur une grappe comme celles maintenues par Calcul Canada, la gestion des librairies doit être faite par notre personnel, afin d'assurer une compatibilité et une performance maximales. Voici un liste de raisons:

  • Anaconda installe très souvent des logiciels (compilateurs, bibliothèques scientifiques etc.) qui existent déjà sur les grappes de Calcul Canada comme modules, avec une configuration qui n'est pas optimale.
  • installe des binaires qui ne sont pas optimisés pour les processeurs de nos grappes.
  • fait de mauvaises suppositions sur l'emplacement de bibliothèques.
  • s'installe dans le $HOME par défaut, où il place une énorme quantité de fichiers. L'installation d'Anaconda seule peut prendre près de la moitié de votre quota sur le nombre de fichiers dans votre espace personnel.
  • est plus lent pour installer des paquets
  • modifie $HOME/.bashrc, ce qui peut causer des conflits.

Comment transitionner de Conda vers Virtualenv

Virtualenv vous offre toutes les fonctionnalités dont vous avez besoin pour utiliser Python sur nos grappes. Voici comment passer à Virtualenv si vous utilisez Anaconda sur votre ordinateur personnel:

  1. Listez les dépendances (requirements) de l'application que vous voulez utiliser.
  2. Trouvez quelles dépendances sont des paquets Python, et lesquelles sont des librairies fournies par Anaconda. Par exemple, CUDA et CuDNN sont des librairies disponible sur l'Anaconda Cloud, mais que vous ne devez pas installer vous-même sur nos grappes. Elles sont déjà installées.
  3. Retirez de la liste de dépendance tout ce qui n'est pas un paquet Python (par exemple, retirez cudatoolkit et cudnn).
  4. Utilisez un virtualenv, dans lequel vous installerez ces dépendances.

Votre application devrait fonctionner. Si ce n'est pas le cas, n'hésitez pas à contacter notre soutien technique.