Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/12/2024, à 11:36

marco56

[Résolu] Ubuntu 24.04 LTS et suppression de packages Python

Bonjour,
Je ne sais pas trop si je suis au bon endroit.
Suite à la mise à jour et la migration vers la version 24.04, des bibliothèques Python ont été supprimés de mon ordi.
J'ai donc souhaité les réinstaller mais je rencontre des problèmes alors que j'ai un réel besoin de ces bibliothèques.
Pour l'instant, je m'en sors grâce à mon portable que je n'ai pas mis à jour.

Un programme qui fonctionne par exemple avec mon portable mais pas sur mon PC mis à jour :

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import StaleElementReferenceException
from selenium.webdriver.support import expected_conditions

from selenium import webdriver
from selenium.webdriver.chrome.service import Service


service = Service()
options = webdriver.ChromeOptions()
options.add_argument("--start-maximized")
driver = webdriver.Chrome(service=service, options=options)

from selenium.webdriver.support.ui import WebDriverWait
wait = WebDriverWait(driver, 20)
from selenium.common.exceptions import ElementClickInterceptedException

et l'erreur qui est déclenchée:

WebDriverException: Unable to obtain working Selenium Manager binary; /usr/lib/python3/dist-packages/selenium/webdriver/common/linux/selenium-manager


The above exception was the direct cause of the following exception:

Traceback (most recent call last):

  File /usr/lib/python3/dist-packages/spyder_kernels/py3compat.py:356 in compat_exec
    exec(code, globals, locals)

  File /mnt/0DD2EA2C6FC1348E/UPS-cpge/ups-phys3.py:29
    driver = webdriver.Chrome(service=service, options=options)

  File /usr/lib/python3/dist-packages/selenium/webdriver/chrome/webdriver.py:45 in __init__
    super().__init__(

  File /usr/lib/python3/dist-packages/selenium/webdriver/chromium/webdriver.py:49 in __init__
    self.service.path = DriverFinder.get_path(self.service, options)

  File /usr/lib/python3/dist-packages/selenium/webdriver/common/driver_finder.py:41 in get_path
    raise NoSuchDriverException(msg) from errNoSuchDriverException: Unable to obtain driver for chrome using Selenium Manager.; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location

J'ai effectué pas mal d'essais, notamment :

sudo pip install selenium
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.
    
    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.
    
    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.
    
    See /usr/share/doc/python3.12/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

Ce type de commande fonctionnait auparavant. Obligé de faire :

sudo apt install python3-selenium

Cela semble ok.
Du coup, je tente la même pour webdriver-manager et sans surprise :

sudo pip install webdriver-manager
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.
    
    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.
    
    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.
    
    See /usr/share/doc/python3.12/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

Du coup, je tente l'autre façon d'installer :

sudo apt install python3-webdriver-manager
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
E: Impossible de trouver le paquet python3-webdriver-manager

Je précise que j'ai fait des essais avec le tiret du 6 et le tiret du 8 (underscore), sans succès de part et d'autre.
J'ai trouvé des réponses avec venv mais je n'y comprends pas grand-chose.
Voilà, si vous avez des pistes, je suis preneur. Au cas où, j'utilise l'éditeur Spyder. Bon week-end à tous et toutes.

Dernière modification par marco56 (Le 07/12/2024, à 17:08)

Hors ligne

#2 Le 07/12/2024, à 17:08

marco56

Re : [Résolu] Ubuntu 24.04 LTS et suppression de packages Python

Résolu avec :

sudo pip install webdriver_manager --break-system-packages

Hors ligne