Bonjour,
J'essaie d'interfacer Python avec Lazarus, essentiellement dans le but d'utiliser la librairie mpmath pour le calcul en multi-précision
J'utilise la dernière version 3.8. Apparemment, Lazarus refuse la commande " GetPythonEngine.Initialize; "
J'ai effectué les deux essais décrits ci-dessous sans succès.
Pouvez-vous m'aider ? Merci
Python4Delphi et mpmath ont été téléchargés et installés et ajoutés au projet Lazarus
PythonEngine apparaît correctement dans la liste des fonctions de l'éditeur de source
J'ai ajouté dans la fonction principale "Calcul"
Premier essai
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 uses PythonEngine, VarPyth; { TForm1 } TForm1 = class(TForm) ... PythonEngine: TPythonEngine; ... End;
***********
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 procedure TForm1.FormCreate(Sender: TObject); Var a:String; Py:Variant; begin GetPythonEngine.Initialize; Py:=Import('mpmath'); Py.mp.dps:=50; a:=Py.str(Py.mpf(2)**Py.mpf('0.5')); Form1.Memo2.Lines.Add(a); end;Deuxième essaiEnvoyé par Erreur
**************
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 procedure TForm1.FormCreate(Sender: TObject); Var a:String; Py:Variant; begin with GetPythonEngine do begin // GetPythonEngine.Initialize; Py:=Import('mpmath'); Py.mp.dps:=50; a:=Py.str(Py.mpf(2)**Py.mpf('0.5')); Form1.Memo2.Lines.Add(a); end; end;Envoyé par Erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function GetPythonEngine : TPythonEngine; begin if not Assigned( gPythonEngine ) then raise Exception.Create(SCannotCreatePythonEngine); // <== (9764) if not gPythonEngine.Finalizing and not gPythonEngine.Initialized then raise Exception.Create(SCannotInitPythonEngine); Result := gPythonEngine; end;
Partager