![]() |
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.