---
title: "Atualizando o Django para uma nova versão"
version: 1.9
locale: pt-br
source: https://docs.djangoproject.com/pt-br/1.9/howto/upgrade-version/
canonical: https://djangodocs.dev/pt-br/1.9/howto/upgrade-version/
---
# Atualizando o Django para uma nova versão

Enquanto que isso pode ser as vezes um processo complexo, atualizar a versão do Django tem muitos benefícios:

- Novas características e melhorias são adicionadas.
- Erros são ajustados.
- Antigas versões do Django eventualmente não irão receber atualizações de segurança.  (veja [Versões suportadas](/pt-br/1.9/internals/release-process/#backwards-compatibility-policy)).
- Atualizando assim que cada versão do Django fica disponível faz com que futuras atualizações sejam menos dolorosas, por mantendo sua base de código atualizada.

Aqui alguns pontos para considerar para ajudar fazer seu process ode atualização mais suave tanto quanto possível.

## Leitura requerida

Se esta é sua primeira vez fazendo uma atualização, é útil ler o [guia sobre o proesso de atualizações diferente](/pt-br/1.9/internals/release-process/).

Depois você deveria familiarizar-se com as mudanças que foram feitas na(s) verõe(s) nova(s) do Django.

- Leia o [notas sobre a edição](/pt-br/1.9/releases/) para cara edição a partir da sua versão de Django corrente, até e inclusive a versão do Django pra qual que você planeja atualizar.
- Dê uma olhada no [linha do tempo da depreciação](/pt-br/1.9/internals/deprecation/) para as versões relevantes.

Preste uma atenção particular a imcompatibilidades das mudanças nas versões anteriores para ter uma idéia clara do que será necessário para uma atualização de sucesso.

## Dependências

Na marioria dos casos para atualizar para a última versão do Django será necessário atualiar as dependências do Django também. Se a versão do Django foi lançada recentemente ou se algumas de suas dependências não são muito bem mantidas, algumas dependências podem não dar suporte a versão do Django. Nestes casos você terá que esperar até que a nova versão das dependências sejam lançadas.

## Resolving deprecation warnings

Before upgrading, it’s a good idea to resolve any deprecation warnings raised
by your project while using your current version of Django. Fixing these
warnings before upgrading ensures that you’re informed about areas of the code
that need altering.

In Python, deprecation warnings are silenced by default. You must turn them on
using the `-Wall` Python command line option or the [`PYTHONWARNINGS`](https://docs.python.org/3/using/cmdline.html#envvar-PYTHONWARNINGS)
environment variable. For example, to show warnings while running tests:

```console
$ python -Wall manage.py test
```

If you’re not using the Django test runner, you may need to also ensure that
any console output is not captured which would hide deprecation warnings. For
example, if you use py.test:

```console
$ PYTHONWARNINGS=all py.test tests --capture=no
```

Resolve any deprecation warnings with your current version of Django before
continuing the upgrade process.

Third party applications might use deprecated APIs in order to support multiple
versions of Django, so deprecation warnings in packages you’ve installed don’t
necessarily indicate a problem. If a package doesn’t support the latest version
of Django, consider raising an issue or sending a pull request for it.

## Instalação

Uma vez que esteja pronto, é hora de [Instale a nova versão do Django](/pt-br/1.9/topics/install/). Se estiver usando o [virtualenv](http://www.virtualenv.org/) e for uma atualização grande, você talvez queira configurar um novo ambiente com todas as depoendências primeiro.

Os passos exatos que serão necessários depende do seu processo de inatalação. O jeito mais conveniente é usar o [pip](https://pip.pypa.io/) com `--upgrade` ou o parametro `-U`:

```console
$ pip install -U Django
```

O [pip](https://pip.pypa.io/) também automaticamente desinstala as versões anteriores do Django.

Se você usa outros processos de instalação, tavez seja necessário manualmente [desinstalar a versão antig do Django](/pt-br/1.9/topics/install/#removing-old-versions-of-django) e deve dar uma olhada nas instruções completas de instalação.

## Testando

When the new environment is set up, [run the full test suite](/pt-br/1.9/topics/testing/overview/) for your application. Again, it’s useful to turn
on deprecation warnings on so they’re shown in the test output (you can also
use the flag if you test your app manually using `manage.py runserver`):

```console
$ python -Wall manage.py test
```

Depois que rodar os testes, concerte as falhas. Enquanto você tem as notas da versão frescas na sa cabeça, talvez seja uma boa hora para tirar vantagem das novas caraceterísticas do Django refatorando o código para eliminar qualquer alerta de descontinuidade.

## Implantação

Quando você estiver suficientemente confiante que sua aplicação funciona com a nova versão do Django, você está pronto para ir em frente e [implantar](/pt-br/1.9/howto/deployment/) seu projeto com Django atualizado.

Se você estiver usando o cache fornecido pelo Django, você deve considerar limpar o cache depois da atualização. De outro modo você pode ter problemas, por exemplo, se você estiver mantendo em cache objetos serializados e estes objetos não tem garantia de compatibilidade de serialização entre as versões do Django. Um problema de imcompatibilidade no passado foi o cache de objetos [`HttpResponse`](/pt-br/1.9/ref/request-response/#django.http.HttpResponse) serializados, diretamente ou indiretamente via o decorador [`cache_page()`](/pt-br/1.9/topics/cache/#django.views.decorators.cache.cache_page).
