Skip to content

Instantly share code, notes, and snippets.

@nolram
Last active August 29, 2015 14:04
Show Gist options
  • Save nolram/275dad3996611df4178b to your computer and use it in GitHub Desktop.
Save nolram/275dad3996611df4178b to your computer and use it in GitHub Desktop.
Script em Python 2.7 para atualizar os pacotes PIP
#-.- encoding: utf-8 -.-
# Script retirado de http://stackoverflow.com/a/5839291 com pequenas modificações minhas
import pip
from subprocess import call
def update_all_pip(exceptions=[]):
'''
Esse método atualiza todos os pacotes instalados através do método call()
@arg: exceptions é uma lista de nomes de pacotes em caixa baixa que não serão atualizados
'''
to_update = pip.get_installed_distributions(skip=["setuptools", "python", "pip",
"distribute"]+exceptions)
for dist in range(0, len(to_update)):
print "Verificando o pacote %s - restando: %s de %s " % (to_update[dist], dist+1, len(to_update))
call("pip install --upgrade "+ to_update[dist].project_name, shell=True)
def update_pip(pacotes=[]):
'''
@arg: pacotes é uma lista de nomes de pacotes em caixa baixa que serão autualizados
'''
for dist in range(0, len(pacotes)):
print "Verificando o pacote %s - restando: %s de %s " % (pacotes[dist], dist+1, len(pacotes))
call("pip install --upgrade "+ pacotes[dist], shell=True)
def alternative_pip_update(exceptions=[]):
'''
Esse método atualiza todos os pacotes instalados através do Pip,
@arg: exceptions é uma lista de nomes de pacotes em caixa baixa que não serão atualizados
'''
to_update = pip.get_installed_distributions(skip=["setuptools", "python", "pip",
"distribute"]+exceptions)
for dist in range(0, len(to_update)):
print "Verificando o pacote %s - restando: %s de %s " % (to_update[dist], dist+1, len(to_update))
try:
pip.util.call_subprocess(['pip', 'install', '--upgrade', to_update[dist].project_name])
except Exception, exc:
print "%s - Erro no pacote: %s" % (exc, to_update[dist].project_name)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment