Este blog é um complemento do nosso canal no YouTube. Clique em @CanalQb para seguir e acompanhar nossos vídeos!

Sugestões de pesquisas

Como Verificar e Instalar o Chromium no Ubuntu com Python

#Ubuntu; #Python; #Linux
@CanalQb

Verificando e Instalando o Chromium no Ubuntu via Python

@CanalQb

Em ambientes Linux, especialmente no Ubuntu, o navegador Chromium é frequentemente usado em automações e projetos com Python. Verificar se ele está instalado, qual a versão e, se necessário, realizar sua instalação automática são tarefas úteis em setups automatizados. A seguir, veja como realizar esse processo com Python utilizando o módulo subprocess.

1. Verificando se o Chromium está instalado

Você pode verificar a existência do Chromium com o comando which chromium-browser. Veja um exemplo simples:

import subprocess

try:
    subprocess.run(["which", "chromium-browser"], check=True)
    print("Chromium-browser já está instalado.")
except subprocess.CalledProcessError:
    print("Chromium-browser não está instalado.")
    subprocess.run(["sudo", "apt-get", "install", "-y", "chromium-browser"])
    print("Chromium-browser instalado com sucesso.")

Esse código verifica se o Chromium está no sistema. Caso não esteja, ele será instalado via apt-get.

2. Verificando e Atualizando a Versão do Chromium

Além da instalação, também é possível comparar a versão instalada com a mais recente disponível no repositório:

import subprocess
import re

try:
    result = subprocess.run(["which", "chromium-browser"], stdout=subprocess.PIPE, check=True)
    path = result.stdout.decode().strip()

    result = subprocess.run(["dpkg", "-s", path], stdout=subprocess.PIPE)
    output = result.stdout.decode()
    version = re.search(r"Version: (.+)", output).group(1)

    print(f"Chromium-browser versão instalada: {version}")

    subprocess.run(["apt-get", "update"], stdout=subprocess.PIPE)
    result = subprocess.run(["apt-cache", "policy", "chromium-browser"], stdout=subprocess.PIPE)
    output = result.stdout.decode()

    installed = re.search(r"Installed: (.+)", output).group(1)
    candidate = re.search(r"Candidate: (.+)", output).group(1)

    if candidate > installed:
        print(f"Atualizando de {installed} para {candidate}")
        subprocess.run(["sudo", "apt-get", "install", "-y", "chromium-browser"])
    else:
        print("Chromium-browser já está atualizado.")

except subprocess.CalledProcessError:
    print("Chromium-browser não está instalado.")
    subprocess.run(["sudo", "apt-get", "install", "-y", "chromium-browser"])

Este script faz uma checagem completa da versão atual e, se necessário, executa a atualização.

3. Comparando versões com segurança

Você também pode comparar diretamente a versão instalada com a mais nova disponível:

import subprocess
import re

def check_chromium_browser_version():
    current = subprocess.run(['chromium-browser', '--version'], stdout=subprocess.PIPE).stdout.decode().strip()
    current_version = re.search(r'(\d+\.)+\d+', current).group()

    available = subprocess.run(['apt-cache', 'show', 'chromium-browser'], stdout=subprocess.PIPE).stdout.decode()
    available_version = re.search(r'Version: (\d+\.)+\d+', available).group().split()[1]

    return current_version, available_version

def upgrade_chromium_browser():
    subprocess.run(['sudo', 'apt-get', 'update'], stdout=subprocess.PIPE)
    subprocess.run(['sudo', 'apt-get', 'upgrade', 'chromium-browser'], stdout=subprocess.PIPE)

current_version, available_version = check_chromium_browser_version()

if current_version < available_version:
    print("Atualizando Chromium de", current_version, "para", available_version)
    upgrade_chromium_browser()
else:
    print("Chromium-browser já está na versão mais recente.")

4. Tratando erro de não encontrado

Se você receber o erro FileNotFoundError: [Errno 2], significa que o executável do Chromium não foi localizado. Isso pode indicar ausência do navegador ou falha na variável PATH do sistema.

Você pode verificar a variável PATH com:

import os
print(os.environ['PATH'])

5. Alternativa com biblioteca Whichcraft

Se quiser uma abordagem mais direta sem usar subprocess, use a biblioteca whichcraft. Ela verifica se um executável está no PATH:

import whichcraft

def check_chromium_installed():
    return whichcraft.which("chromium-browser") is not None

if check_chromium_installed():
    print("Chromium-browser está instalado.")
else:
    print("Chromium-browser não está instalado.")

Para instalar o whichcraft:

pip install whichcraft

Considerações finais

Utilizar Python para verificar e instalar pacotes como o Chromium pode automatizar tarefas em servidores e ambientes controlados. Essas práticas são especialmente úteis para desenvolvedores, analistas de dados ou em aplicações que requerem automação web com Selenium, por exemplo.

Para mais tutoriais como este, siga o canal oficial no YouTube: @CanalQb.

Postar um comentário

Comente só assim vamos crescer juntos!
CanalQb mais próximo Quer falar com o CanalQb?
Em que posso te ajudar?
Fale comigo