Skip to content

Latest commit

 

History

History
45 lines (30 loc) · 3.24 KB

nJuliaPython.md

File metadata and controls

45 lines (30 loc) · 3.24 KB
author tags
ecmhateau
julia, python

Utiliser des librairies Python dans Julia

Même si Julia présente de nombreux avantages pour le calcul scientifique et la recherche en humanités numériques, le langage reste relativement récent et ne présente pas encore un écosystème aussi large que celui de Python. Les développements récents en intelligence artificielle qui peuvent être mobilisés dans des travaux en humanités numériques ont souvent été implémentés en Python. Et bien, cela n’est pas nécessairement un problème, Julia propose plusieurs solutions pour travailler avec des librairies Python !

Deux cas de figure se présentent en Julia selon que ces librairies disposent ou pas d’une interface Julia.

Utilisation d’une librairie Python disposant d’une interface Julia

Certaines librairies Python particulièrement populaires disposent en effet d’une interface Julia. Beaucoup de librairies Python sont écrites dans un autre langage (comme C++) et Python ne propose qu’une enveloppe pour y accéder. Souvent les utilisateurs n’y prettent même pas attention. La même approche est utilisée en Julia pour certaines librairies, parmi lesquelles :

Dans ce cas de figure, il suffit d’installer le paquet Julia pour utiliser directement le paquet Python voulu.

Utilisation en Julia de n’importe quelle librairie Python

Lorsqu’il n’existe pas d’înterface Julia, vous pouvez néanmoins également utiliser n’importe quelle librairie Python.

Il existe deux Paquets Julia pour faire cela : PyCall.jl et PythonCall.jl.

  • PythonCall supporte plus de conversions entre Julia et Python, et ce mécanisme est extensible
  • PythonCall ne copie jamais les objets mutables lors de la conversion mais les enveloppe, cela signifie que la modification de l’objet converti modifie l’original et que la conversion est plus rapide
  • PythonCall ne conserva pas automatiquement les résultats en objet Julia, ce qui facilite l’exécution des tâches python
  • PythonCall installe les dépendances dans un environnement Conda distinct pour chaque projet avec CondaPkg

Paquets Julia

Références