Trouver le chemin de la bibliothèse

Trouver le chemin de la bibliothèse - Python - Programmation

Marsh Posté le 08-04-2025 à 15:53:16    

Bonjour,
 
Je cherche à utiliser un programme qu'on m'a passé et qui écrit en Python.
 
Je suis Windows 10. Pour le moment, je fais des essais avec le PowerShell. Je suis entré dans l'interpréteur de Python. Le début du code est :

#!/usr/bin/python3
 
import sys
import numpy as np
import PyMca5


 
Quand j'essaie de l'utiliser:

>>> os.system("python test.py" )
Traceback(most recent call last):
  File                          , line   , in
    import PyMca5
ModuleNotFoundError:
1


Ok. Il ne trouve pas PyMca5. Pourtant la bibliothèque est installée en C:\Program Files\PyMca 5.9.4. Dans ce dossier, il y a un sous-dossier lib puis dans lib, il y a PyMca5. Dans ce dernier, il y a encore une dizaine de sous-dossier et aussi un __init__.py. J'ai essayé de mettre tout ça dans le PATH :


>>> sys.path
['C:\\Program Files\\PyMca 5.9.4\\lib\\PyMca5\\PyMcaMath', 'C:\\Program Files\\PyMca 5.9.4\\lib\\PyMca5\\PyMcaMath', 'C:
\\Program Files\\PyMca 5.9.4\\lib\\PyMca5', 'C:\\Program Files\\PyMca 5.9.4\\lib', 'C:\\Users\\EricS\\AppData\\Roaming\\
Python\\Python313\\site-packages\\numpy', 'C:\\Program Files\\PyMca 5.9.4', '', 'C:\\Program Files\\Python313\\python313
.zip', 'C:\\Program Files\\Python313\\DLLs', 'C:\\Program Files\\Python313\\Lib', 'C:\\Program Files\\Python313', 'C:\\U
sers\\EricS\\AppData\\Roaming\\Python\\Python313\\site-packages', 'C:\\Program Files\\Python313\\Lib\\site-packages']


 
Rien à faire, j'ai toujours l'erreur alors que j'ai pu importer numpy sans difficulté.
 
J'ai raté quoi?

Reply

Marsh Posté le 08-04-2025 à 15:53:16   

Reply

Marsh Posté le 08-04-2025 à 17:16:11    

Je précise que PyMca a été téléchargé et installé indépendamment. Je suis aller sur leurs dépôts et j'ai récupéré l'installateur pour window (pymca5.9.4-win64.exe) et c'est lui a installé PyMca. L'application PyMca avec son interface graphique fonctionne bien de manière autonome.
 
Par contre, quand je demande à Python ce qui est installé, il me dit:
 

PS C:\Users\XXX\Documents\data\drx25> py -m pip list
Package Version
------- -------
numpy   2.2.4
pip     25.0.1

Reply

Marsh Posté le 09-04-2025 à 14:02:05    

Il m'est venu une idée. En fait, PyMCA est installé en tant que programme indépendant mais pas dans l'environnement Python alors j'ai essayé de l'installé dans Python:
 

pip install pymca


 
Il se passe pleins de choses mais, à la fin, ça plante:

     error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/


 
J'ai suivi l'adresse et j'ai téléchargé vs_BuildTools.exe(4 Mo) qui m'a installé les buildtools de Visual Studio 2022 (me signalant au passage que mon Win10 n'est plus supporté mais qu'il va quand même me l'installer). Même erreur. J'ai essayé d'inclure le chemin de ces outils, pas mieux. Je suis allé chercher les buildtools de VS2015 (normalement suffisant pour VC++ 14.0) : visualcppbuildtools_full.exe (3 Mo). L'utilitaire d'installation n'a pas trouvé le .msi qui va bien chez M$. Je me suis rabattu sur BuildTools_Full.exe (25 Mo) qui, lui, s'est débrouillé sans aller chercher quoique ce soit chez M$. Mais l'installation de pymca plante toujours avec la même erreur. J'ai carrément installé Visual Studio 2022 (3 Go sur le DD). Pareil.
 
J'ai essayé avec pipwin qui est supposé contourner ces problèmes avec Windows. Là, j'ai eu un message d'erreur en essayant d'utiliser pipwin :

Your python version made changes to the bytecode


 
Je ne sais plus quoi faire. Des idées?
 
 
 
 

Reply

Marsh Posté le 09-04-2025 à 15:25:40    

J'ai fini par trouver. Non seulement il faut installer Visual Studio Community 2022 mais il faut aussi cocher l'option "Développement Desktop en C++" et installer les 3-4 Go correspondants en plus. Tout n'était peut-être pas nécessaire mais, quand même, je suis content d'avoir installer 7 Go de machins C++ pour utiliser du code Python.  :pt1cable:  
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed