IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Installation d'un RAG local


Sujet :

Python

  1. #21
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 906
    Par défaut
    Merci pour ce retour précis. J'ai identifié la cause exacte du problème `python` vs `py` grâce aux commandes.

    Partie A : Corriger l'alias d'exécution de Windows

    Ceci doit être fait une seule fois sur votre machine.

    Voici ce que ces lignes nous apprennent :

    1. Le problème "python" (le point clé) : La commande `where.exe python` a renvoyé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    C:\Users\myname\AppData\Local\Microsoft\WindowsApps\python.exe
    C:\Users\myname\AppData\Local\Programs\Python\Python312\python.exe
    C'est la cause exacte du problème. La première ligne (`...WindowsApps\python.exe`) n'est pas le vrai Python. C'est un « alias d'exécution » (un raccourci) que Windows installe par défaut et qui pointe vers le Microsoft Store. Comme il apparaît en premier dans le `PATH`, c'est lui qui est exécuté quand on tape `python`, et non le vrai Python 3.12. `python` n'était pas reconnu, car ce « faux » `python.exe` était prioritaire.

    2. L'installation de Python : La commande `py -0p` montre que `Python 3.12` est bien installé et que le lanceur `py.exe` le voit comme version par défaut (`*`). C'est une bonne nouvelle, l'installation de base est correcte, et la 3.13 semble avoir disparu.

    3. Le dossier projet : La commande `Get-ChildItem -Path C:\rag_single` montre que le dossier `C:\rag_single` et le sous-dossier `.venv` existent bien. C'est également une bonne nouvelle.

    Plan d'action

    Nous devons maintenant faire deux choses :
    1. Corriger le problème de l'alias Windows.
    2. Vérifier l'état de l'environnement virtuel `.venv` (où se trouve, je le suspecte, le conflit de dépendances `langchain`).




    1. Dans le menu Démarrer de Windows, tapez : `Gérer les alias d'exécution d'application` et ouvrez-le.
    2. Dans la liste qui apparaît, cherchez les deux lignes :
      • `python.exe` (Installateur d'application)
      • `python3.exe` (Installateur d'application)
    3. Désactivez ces deux alias en cliquant sur les interrupteurs pour les mettre sur « Désactivé ».
    4. Fermez votre fenêtre PowerShell actuelle (très important).


    Partie B : Vérifier l'installation dans le projet

    Maintenant que `python.exe` est corrigé, nous allons vérifier l'état de votre projet. Veuillez ouvrir une nouvelle fenêtre PowerShell et lancer les commandes suivantes, puis copier-coller l'intégralité du résultat (la commande + ce qu'elle affiche) :

    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
    16
    17
    18
    19
    20
    # 1. Vérification que l'alias Windows est bien parti
    where.exe python
     
    # 2. Se déplacer dans le dossier de votre projet
    cd C:\rag_single
     
    # 3. Activer l'environnement virtuel
    .\.venv\Scripts\Activate.ps1
     
    # 4. Vérifier que le prompt a changé
    # (Il doit maintenant y avoir "(.venv)" au début de la ligne)
     
    # 5. Vérifier la version de Python DANS l'environnement
    python --version
     
    # 6. Vérifier quel 'python' est maintenant utilisé (la commande la plus importante)
    where.exe python
     
    # 7. Lister tous les packages installés DANS cet environnement
    pip list
    Le résultat de `pip list` (commande n°7) est très importante. Il me permettra de voir si les packages `langchain` ont pu s'installer malgré le conflit de versions que je suspecte.

  2. #22
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2016
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 51
    Par défaut
    Bonjour, voici le résultat. Cordialement,


    (.venv) PS C:\rag_single> python --version
    Python 3.12.10
    (.venv) PS C:\rag_single> where.exe python
    C:\rag_single\.venv\Scripts\python.exe
    C:\Users\myname\AppData\Local\Programs\Python\Python312\python.exe
    (.venv) PS C:\rag_single> pip list
    Package Version
    ---------------------------------------- -----------
    aiohappyeyeballs 2.6.1
    aiohttp 3.13.2
    aiosignal 1.4.0
    annotated-types 0.7.0
    anyio 4.11.0
    attrs 25.4.0
    backoff 2.2.1
    bcrypt 5.0.0
    build 1.3.0
    cachetools 6.2.2
    certifi 2025.11.12
    charset-normalizer 3.4.4
    chromadb 1.3.0
    click 8.3.1
    colorama 0.4.6
    coloredlogs 15.0.1
    dataclasses-json 0.6.7
    distro 1.9.0
    durationpy 0.10
    filelock 3.20.0
    flatbuffers 25.9.23
    frozenlist 1.8.0
    fsspec 2025.10.0
    google-auth 2.43.0
    googleapis-common-protos 1.72.0
    greenlet 3.2.4
    grpcio 1.76.0
    h11 0.16.0
    hf-xet 1.2.0
    httpcore 1.0.9
    httptools 0.7.1
    httpx 0.28.1
    httpx-sse 0.4.3
    huggingface_hub 1.1.4
    humanfriendly 10.0
    idna 3.11
    importlib_metadata 8.7.0
    importlib_resources 6.5.2
    jsonpatch 1.33
    jsonpointer 3.0.0
    jsonschema 4.25.1
    jsonschema-specifications 2025.9.1
    kubernetes 34.1.0
    langchain 1.0.3
    langchain-chroma 1.0.0
    langchain-classic 1.0.0
    langchain-community 0.4.1
    langchain-core 1.0.5
    langchain-ollama 1.0.0
    langchain-text-splitters 0.3.0
    langgraph 1.0.3
    langgraph-checkpoint 3.0.1
    langgraph-prebuilt 1.0.4
    langgraph-sdk 0.2.9
    langsmith 0.4.43
    markdown-it-py 4.0.0
    marshmallow 3.26.1
    mdurl 0.1.2
    mmh3 5.2.0
    mpmath 1.3.0
    multidict 6.7.0
    mypy_extensions 1.1.0
    numpy 2.3.4
    oauthlib 3.3.1
    ollama 0.6.0
    onnxruntime 1.23.2
    opentelemetry-api 1.38.0
    opentelemetry-exporter-otlp-proto-common 1.38.0
    opentelemetry-exporter-otlp-proto-grpc 1.38.0
    opentelemetry-proto 1.38.0
    opentelemetry-sdk 1.38.0
    opentelemetry-semantic-conventions 0.59b0
    orjson 3.11.4
    ormsgpack 1.12.0
    overrides 7.7.0
    packaging 25.0
    pip 25.3
    posthog 5.4.0
    propcache 0.4.1
    protobuf 6.33.1
    pyasn1 0.6.1
    pyasn1_modules 0.4.2
    pybase64 1.4.2
    pydantic 2.12.4
    pydantic_core 2.41.5
    pydantic-settings 2.12.0
    Pygments 2.19.2
    pypdf 6.1.3
    PyPika 0.48.9
    pyproject_hooks 1.2.0
    pyreadline3 3.5.4
    python-dateutil 2.9.0.post0
    python-dotenv 1.2.1
    PyYAML 6.0.3
    referencing 0.37.0
    requests 2.32.5
    requests-oauthlib 2.0.0
    requests-toolbelt 1.0.0
    rich 14.2.0
    rpds-py 0.28.0
    rsa 4.9.1
    setuptools 80.9.0
    shellingham 1.5.4
    six 1.17.0
    sniffio 1.3.1
    SQLAlchemy 2.0.44
    sympy 1.14.0
    tenacity 9.1.2
    tokenizers 0.22.1
    tqdm 4.67.1
    typer 0.20.0
    typer-slim 0.20.0
    typing_extensions 4.15.0
    typing-inspect 0.9.0
    typing-inspection 0.4.2
    urllib3 2.3.0
    uvicorn 0.38.0
    watchfiles 1.1.1
    websocket-client 1.9.0
    websockets 15.0.1
    wheel 0.45.1
    xxhash 3.6.0
    yarl 1.22.0
    zipp 3.23.0
    zstandard 0.25.0


    (.venv) PS C:\rag_single>

  3. #23
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2016
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 51
    Par défaut
    Bonjour,

    Je me permets de faire remonter ce sujet.

    Cordialement,

  4. #24
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 906
    Par défaut
    Votre environnement virtuel est parfaitement configuré (.venv est actif), Python est à la bonne version (3.12), et toutes les bibliothèques nécessaires (LangChain, ChromaDB, le client Python Ollama) sont installées.

    vous avez installé le "pilote" (la bibliothèque Python), mais il vous manque encore le "moteur" (l'application Ollama elle-même).

    Le script Python va essayer de discuter avec Ollama, mais pour l'instant, il n'y a personne au bout du fil. Voici la procédure exacte pour installer le moteur et les modèles requis par votre tutoriel.

    La bibliothèque ollama (version 0.6.0) que vous voyez dans votre pip list n'est qu'un connecteur. Si ce n'est pas fait, vous devez installer le logiciel serveur sur votre Windows.

    • Rendez-vous sur le site officiel : ollama.com/download.
    • Cliquez sur Download for Windows.
    • Lancez le fichier OllamaSetup.exe.


    L'installation est très simple (bouton "Install"). Une fois terminée, une petite icône de lama apparaîtra dans votre barre des tâches (près de l'horloge), signifiant que le serveur tourne en arrière-plan.

    Vérification dans PowerShell

    Ne fermez pas votre fenêtre PowerShell actuelle. Maintenant que le logiciel est installé, la commande ollama (qui n'existait pas pour Windows avant) est devenue accessible.

    Tapez ceci pour vérifier :

    ollama --version
    Si cela affiche une erreur, fermez et rouvrez votre PowerShell pour qu'il prenne en compte le nouveau chemin, et n'oubliez pas de réactiver votre environnement virtuel (.\.venv\Scripts\Activate.ps1).

    Votre code Python va demander à Ollama d'utiliser des modèles spécifiques. Si vous ne les téléchargez pas au préalable, votre script plantera.

    Le tutoriel Hackernoon que vous suivez utilise généralement deux modèles précis : un pour le texte (chat) et un pour la vectorisation (comprendre le sens des mots pour la base de données ChromaDB).

    Exécutez ces deux commandes l'une après l'autre dans votre PowerShell :

    ollama pull mistral
    ollama pull nomic-embed-text
    Avant de lancer votre script Python app.py (ou autre), vérifiez que le serveur répond bien. Ouvrez simplement votre navigateur web et allez à l'adresse : http://localhost:11434

    Si vous voyez le message "Ollama is running", tout est prêt. Vous pouvez alors exécuter votre code Python.

  5. #25
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2016
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 51
    Par défaut
    Bonjour,

    Merci pour votre réponse.

    Ollama seul s'exécute normalement en mode cmd : un prompt obtient une réponse dans un délai normal.


    Cependant le lancement de programme dans le venv même avec la commande "py sciript.py" donne le résultat suivant :
    "did not find executable e at 'C:\Users\myname\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\python.exe': Le chemin d?accÞs spÚcifiÚ est introuvable"

    Ce qui est bizarre c'est que seul Python 3.12 est installé, le path ne contient pas de chemin 3.13 et enfin les alias d'exécution Python et Python 3 sont désactivés.

    Je pourrais désinstaller et réinstaller Python 3.12 mais avant de le faire je voudrais savoir s'il n'y a pas autre chose à faire. En particulier si désinstaller Python oblige à réinstaller toutes les dépendances.

    Cordialement,

  6. #26
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2016
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 51
    Par défaut
    Bonjour,

    Même après la désinstallation de py 3.12 et sa réinstallation le message d'erreur est le même et fait toujours référence à python 3.13.

    Cordialement,

  7. #27
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 906
    Par défaut
    Que donne la commande ci-dessous ?

    Dans votre environnement virtuel, utilisez plutôt la commande python ... au lieu de py ....

  8. #28
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2016
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 51
    Par défaut
    Bonsoir,

    La commande py --list donne
    -V:3.12 * Python 3.12 (64-bit)

    Cordialement,

  9. #29
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 906
    Par défaut
    Citation Envoyé par fred1599
    Dans votre environnement virtuel, utilisez plutôt la commande python ... au lieu de py ....
    Pouvez-vous faire une copie d'écran de ce que fait ceci ?

  10. #30
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 906
    Par défaut
    "did not find executable e at 'C:\Users\myname\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\python.exe': Le chemin d?accÞs spÚcifiÚ est introuvable"
    Ce conflit ne résulte pas d'une corruption de l'installation Python 3.12, mais d'une désynchronisation entre la configuration du Registre Windows (conforme à la PEP 514) et l'état du système de fichiers géré par le Microsoft Store. Le lanceur py.exe est induit en erreur par des clés de registre orphelines laissées par le mécanisme de pré-installation de Windows ("App Installer"), qui survivent aux désinstallations classiques et aux désactivations d'alias.

    L'objectif est de rétablir un fonctionnement normal sans nécessairement passer par la case "désinstallation totale" qui imposerait la reconstruction des environnements virtuels.

    1. Accès au Registre : Ouvrez l'éditeur de registre (Win + R, tapez regedit).
    2. Navigation Ciblée : Inspectez les chemins suivants pour localiser la clé "3.13" :
      • HKEY_CURRENT_USER\Software\Python\PythonCore\
      • HKEY_LOCAL_MACHINE\Software\Python\PythonCore\
    3. Identification : Vous devriez voir une sous-clé nommée 3.13 (ou 3.13-32 / 3.13-64). En cliquant dessus, la valeur InstallPath à droite pointera vers %LOCALAPPDATA%\Microsoft\WindowsApps\....
    4. Excision : Supprimez uniquement la clé parente 3.13. Ne touchez pas à la clé 3.12.
    5. Vérification : Ouvrez une invite de commande et tapez py --list. La référence à 3.13 doit avoir disparu, et 3.12 doit être marquée d'une astérisque (*), indiquant qu'elle est désormais la version par défaut active.


    Même si les alias sont désactivés dans les paramètres, forcez le nettoyage :

    1. Naviguez vers %LOCALAPPDATA%\Microsoft\WindowsApps.
    2. Si vous voyez des fichiers python.exe ou python3.exe de taille 0 Ko (ou < 10 Ko), et que vous n'utilisez pas la version Store, vous pouvez tenter de les supprimer ou de les renommer (ex: python.exe.bak). Cela empêchera physiquement toute tentative de résolution vers le Store, forçant le système à chercher ailleurs dans le PATH.

  11. #31
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2016
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 51
    Par défaut
    Bonjour,

    Merci.

    J'ai supprimé des clés de registre (peut-être un peu trop dans des sous-dossiers Python de python Core \ 3.13
    J'ai d'ailleurs un dossier 3.12 et un dossier 3.11 aussi.

    En revanche en voulant appliquer la deuxième partie de votre dernier message, je vois deux programmes python.exe et python3.exe. Je ne peux les supprimer ou les renommer en raison d'une erreur 0x80070780

    L'erreur semble pouvoir se réparer à la main ou avec un logiciel.


    J'ai un souvenir d'avoir eu des problèmes (probablement sur un autre PC mais avec les commandes SFC ou DISM)

    Qu'en pensez-vous ?

    Cordialement,

  12. #32
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2016
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 51
    Par défaut
    Bonjour,

    Je me permets de faire remonter ce sujet.

    Cordialement,

  13. #33
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 906
    Par défaut
    Je pense que le plus simple serait de supprimer toutes les versions python et de réinstaller (via la documentation officielle et non store).

    Parce-que j'ai l'impression que c'est un peu le cirque dans vos versions python, mieux vaut repartir sur le bon pied.

    Copiez ce code dans un fichier (par exemple clean_python.ps1) ou collez-le directement dans une fenêtre PowerShell ouverte en tant qu'Administrateur.

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    # Script de suppression complète de Python
    # A EXECUTER EN TANT QU'ADMINISTRATEUR
     
    $ErrorActionPreference = "SilentlyContinue"
     
    Write-Host "--- Démarrage du nettoyage de Python ---" -ForegroundColor Cyan
     
    # 1. Suppression des versions Microsoft Store
    Write-Host "1. Recherche et suppression des versions Microsoft Store..." -ForegroundColor Yellow
    Get-AppxPackage -AllUsers *Python* | Remove-AppxPackage -AllUsers
    Write-Host "   Terminé." -ForegroundColor Green
     
    # 2. Désinstallation via les méthodes MSI/EXE standard
    Write-Host "2. Désinstallation des versions classiques (MSI/EXE)..." -ForegroundColor Yellow
    # On cherche dans les clés de registre de désinstallation (32 et 64 bits)
    $uninstallKeys = @(
        "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall",
        "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall",
        "HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall"
    )
     
    foreach ($key in $uninstallKeys) {
        Get-ChildItem $key | ForEach-Object {
            $props = Get-ItemProperty $_.PSPath
            if ($props.DisplayName -like "*Python*" -and $props.DisplayName -notlike "*IronPython*") {
                Write-Host "   Désinstallation de : $($props.DisplayName)"
     
                # Si c'est un MSI
                if ($props.UninstallString -match "MsiExec.exe") {
                    $guid = $props.PSChildName
                    Start-Process "MsiExec.exe" -ArgumentList "/x $guid /quiet /norestart" -Wait
                } 
                # Si c'est un EXE (pip uninstall ou autre installeur)
                elseif ($props.UninstallString) {
                    # Tentative d'exécution silencieuse
                    $uninstallString = $props.UninstallString -replace '"', ""
                    Start-Process $uninstallString -ArgumentList "/quiet /uninstall" -Wait
                }
            }
        }
    }
    Write-Host "   Terminé." -ForegroundColor Green
     
    # 3. Nettoyage des Variables d'Environnement (PATH)
    Write-Host "3. Nettoyage du PATH (Système et Utilisateur)..." -ForegroundColor Yellow
     
    function Clean-Path ($scope) {
        $path = [Environment]::GetEnvironmentVariable("Path", $scope)
        if ($path) {
            $parts = $path -split ";"
            # On garde tout ce qui NE contient PAS "Python"
            $newParts = $parts | Where-Object { $_ -notlike "*Python*" -and $_ -notlike "*Scripts*" }
            $newPath = $newParts -join ";"
            [Environment]::SetEnvironmentVariable("Path", $newPath, $scope)
        }
    }
     
    Clean-Path "Machine"
    Clean-Path "User"
    Write-Host "   Terminé." -ForegroundColor Green
     
    # 4. Suppression des dossiers résiduels (Fichiers)
    Write-Host "4. Suppression des dossiers sur le disque..." -ForegroundColor Yellow
    $folders = @(
        "C:\Python*",
        "$env:LOCALAPPDATA\Programs\Python",
        "$env:APPDATA\Python",
        "$env:ProgramFiles\Python*",
        "$env:ProgramFiles(x86)\Python*"
    )
     
    foreach ($folder in $folders) {
        if (Test-Path $folder) {
            Write-Host "   Suppression de : $folder"
            Remove-Item $folder -Recurse -Force
        }
    }
    Write-Host "   Terminé." -ForegroundColor Green
     
    # 5. Nettoyage des clés de Registre spécifiques
    Write-Host "5. Nettoyage final du Registre..." -ForegroundColor Yellow
    $regKeys = @(
        "HKLM:\SOFTWARE\Python",
        "HKCU:\SOFTWARE\Python",
        "HKLM:\SOFTWARE\WOW6432Node\Python"
    )
     
    foreach ($regKey in $regKeys) {
        if (Test-Path $regKey) {
            Write-Host "   Suppression de la clé : $regKey"
            Remove-Item $regKey -Recurse -Force
        }
    }
     
    Write-Host "--- Nettoyage terminé. Veuillez redémarrer votre ordinateur. ---" -ForegroundColor Cyan
    Ensuite réinstallez Python 3.12 depuis le site officiel et recommencez les étapes de notre début de conversation (environnement virtuel, etc...)

  14. #34
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2016
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 51
    Par défaut
    Bonjour,

    Merci pour votre réponse. Est-ce que ce code présente un risque pour les données et programmes de mon PC ?

  15. #35
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 906
    Par défaut
    Non

  16. #36
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2016
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 51
    Par défaut
    Bonsoir,

    Ok merci.

    Une bizarrerie quand j'ai appliqué le programme et redémarré : à l'installation de Python j'au une fenêtre avec 3 possibilités : modify/repair/uninstall. Uninstall ne fonctionnait pas et repair m'a permis de... réparer ...puis désinstaller.

    Après réinstallation complété de la version 3.12.10, à l'exécution des instructions précédentes (Etape 5.1 package de base) j'ai une erreur du même genre que précédemment sur les dépendances avec langchain

    ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
    langchain 1.0.3 requires langchain-core<2.0.0,>=1.0.0, but you have langchain-core 0.3.80 which is incompatible.
    langchain-classic 1.0.0 requires langchain-core<2.0.0,>=1.0.0, but you have langchain-core 0.3.80 which is incompatible.
    langchain-classic 1.0.0 requires langchain-text-splitters<2.0.0,>=1.0.0, but you have langchain-text-splitters 0.3.0 which is incompatible.
    langchain-community 0.4.1 requires langchain-core<2.0.0,>=1.0.1, but you have langchain-core 0.3.80 which is incompatible.
    langgraph-prebuilt 1.0.5 requires langchain-core>=1.0.0, but you have langchain-core 0.3.80 which is incompatible.

    C'est vraiment étrange j'ai l'impression de tourner en rond sur ces dépendances.

  17. #37
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 906
    Par défaut
    Puisque vous venez de réinstaller Python 3.12, ne lancez surtout pas une commande qui installe langchain-classic ou un vieux fichier requirements.txt complet.

    Nous allons utiliser une bonne pratique absolue : l'environnement virtuel (venv).
    Cela évite de polluer votre installation Windows toute neuve.

    Suivez ces étapes scrupuleusement dans votre terminal (PowerShell ou CMD) :




    Étape A : Créer un espace de travail isolé
    Placez-vous dans votre dossier de projet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cd C:\VotreDossierDeProjet
    Créez l'environnement virtuel (une "bulle" pour ce projet) :

    Activez cette bulle (vous verrez (venv) apparaître au début de la ligne) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .\venv\Scripts\Activate
    (Si cela ne marche pas, essayez .\venv\Scripts\activate.ps1 ou simplement venv\Scripts\activate)




    Étape B : Mettre à jour pip (dans la bulle)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    python -m pip install --upgrade pip



    Étape C : Installer UNIQUEMENT les paquets officiels
    N'installez pas langchain-classic.
    Installez la version moderne et cohérente de la suite LangChain.

    Copiez cette commande exacte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pip install langchain langchain-community langchain-core
    Si vous utilisez OpenAI, ajoutez :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pip install langchain-openai

  18. #38
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2016
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 51
    Par défaut
    Bonjour,

    Merci pour votre réponse. Le RAG de base fonctionne.

    Pour l'optimiser je me demande quel est le modèle d'embedding le + efficace all-minilm, nomic ou autre ?

    Dans un premier temps, en tous cas, je vais plutôt utiliser des documents texte.

    Les documents que je vise sont des textes avec mise en page sur 1 ou sur 3 colonnes avec des en-tête et des pieds de page assez remplis (plusieurs centaines de caractères) : c'est un autre sujet mais peut-être faudrait-il nettoyer ces documents pour faciliter leur vectorisation ?

    Cordialement,

Discussions similaires

  1. [Wamp] Installer wamp sur serveur local
    Par Dakuan dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 17/06/2008, 11h43
  2. [osCommerce] Installation site bloqué en local
    Par tony21turbo dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 03/10/2007, 21h21
  3. Installation sur petit réseau local
    Par User dans le forum Delphi
    Réponses: 5
    Dernier message: 14/05/2007, 22h17
  4. [Joomla!] Joomla barbe comment installer un site en local ou à distance ?
    Par Lebret93 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 20
    Dernier message: 06/03/2007, 13h58
  5. Réponses: 1
    Dernier message: 20/02/2006, 22h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo