<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Python Portugal</title><link href="https://python.pt/" rel="alternate"></link><link href="https://python.pt/feeds/all.atom.xml" rel="self"></link><id>https://python.pt/</id><updated>2021-01-20T17:00:00+00:00</updated><entry><title>Como usar e criar Virtualenv no Windows 10</title><link href="https://python.pt/blog/2021/01/20/virtualenv-windows/" rel="alternate"></link><published>2021-01-20T17:00:00+00:00</published><updated>2021-01-20T17:00:00+00:00</updated><author><name>António Neves</name></author><id>tag:python.pt,2021-01-20:/blog/2021/01/20/virtualenv-windows/</id><summary type="html">&lt;p class="first last"&gt;Como criar e usar ambientes virtuais com Virtualenv no Windows 10&lt;/p&gt;
</summary><content type="html">&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Virtualenv no windows 10" class="img-fluid rounded mx-auto d-block align-center" src="/images/antonio_02_01.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Neste artigo vou explicar a necessidade de utilizar ambientes virtuais,
como usar e criar, com Virtualenv no Windows 10.&lt;/div&gt;
&lt;div class="line"&gt;Existem outras boas ferramentas para criar ambientes virtuais, mas sem
dúvida Virtualenv é um dos mais queridos e usados.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr class="docutils" /&gt;
&lt;div class="section" id="ambientes-virtuais-porque"&gt;
&lt;h2&gt;Ambientes virtuais, porquê?&lt;/h2&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Vamos imaginar que temos instalado no sistema operativo a versão do
Python 3.7.9, e vamos começar a desenvolver um sistema com Kivy, instalamos
a biblioteca Kivy e tudo bem, vai funcionar sem problemas, depois precisamos
instalar OpenCV, e tudo continua funcionando bem, entretanto começamos
a desenvolver um sistema web, e instalamos Django e todas as bibliotecas necessárias.&lt;/div&gt;
&lt;div class="line"&gt;Reparem que já começa a ficar tudo um pouco confuso, tudo instalado na
mesma pasta junto da instalação principal do Python.&lt;/div&gt;
&lt;div class="line"&gt;Mas agora podemos ter instalado uma biblioteca para usar com o Django
que não vai funcionar por incompatibilidade com outra biblioteca instalada
anteriormente para ser usada no nosso projeto Kivy.&lt;/div&gt;
&lt;div class="line"&gt;E agora? Desinstalamos uma e deixamos a outra?&lt;/div&gt;
&lt;div class="line"&gt;Vamos imaginar outra situação, temos instalado Django 3 e precisamos mexer
em um projeto antigo desenvolvido com Django 2 com algumas bibliotecas
que só funcionam com Django 2 e não funcionam com Django 3.&lt;/div&gt;
&lt;div class="line"&gt;Entendem agora como o ideal é sempre ter uma instalação Python para cada
projeto que vamos desenvolver?&lt;/div&gt;
&lt;div class="line"&gt;A melhor solução é criarmos um ambiente virtual para cada projeto, ou pelo
menos criar um para projetos parecidos ou com as mesma necessidade a nível
de versões e bibliotecas.&lt;/div&gt;
&lt;div class="line"&gt;Outra situação em que existe necessidade de utilizar ambientes virtuais,
é quando queremos experimentar se as nossas aplicações funcionam com
diferentes versões das mesmas bibliotecas.&lt;/div&gt;
&lt;div class="line"&gt;Mas a principal razão, é mantermos as instalações do Python no sistema,
originais, limpas e sempre prontas para que ambientes virtuais sejam
criados sem problemas.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;É importante também não confundir, versões diferentes do Python no Windows
com ambientes virtuais diferentes.&lt;/div&gt;
&lt;div class="line"&gt;Na prática cada ambiente virtual vai “criar uma cópia” de uma versão do
Python que escolhermos, versão que já tenha sido instalada anteriormente no sistema.&lt;/div&gt;
&lt;div class="line"&gt;Neste artigo explico &lt;a href="https://python.pt/blog/2021/01/19/instalacao-python-windows" target="_blank" rel="noopener"&gt;Como instalar várias versões Python no Windows 10&lt;/a&gt;.&lt;/div&gt;
&lt;div class="line"&gt;Podemos ter várias versões do Python diferentes instaladas e podemos ter
vários ambientes virtuais com a mesma versão do Python, mas em cada ambiente,
diferentes bibliotecas.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr class="docutils" /&gt;
&lt;div class="section" id="consideracoes-iniciais"&gt;
&lt;h2&gt;Considerações Iniciais&lt;/h2&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;No meu sistema já tenho instalado o Python 3.7.9 e o Python 3.9.0.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Vamos usar o terminal e o explorador do Windows.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr class="docutils" /&gt;
&lt;div class="section" id="instalacao-virtualenv"&gt;
&lt;h2&gt;Instalação Virtualenv&lt;/h2&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Vamos começar por ver se o Virtualenv já está instalado, para isso abrimos
um terminal (prompt de comando) com permissões de administrador e digitamos.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;where&lt;/span&gt; &lt;span class="n"&gt;virtualenv&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;No caso de não estar instalado simplesmente digitamos.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;pip&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;virtualenv&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Na foto abaixo, podemos ver que no meu sistema já tenho o virtualenv instalado.&lt;/div&gt;
&lt;div class="line"&gt;Pode parecer uma contradição em relação ao que expliquei anteriormente,
mas é a única instalação que vamos fazer “junto” da instalação principal
do Python no Windows.&lt;/div&gt;
&lt;div class="line"&gt;No caso de termos várias versões diferentes do Python, vai ser instalado
junto com a versão que o Windows “considera” como principal, como explicado
neste &lt;a href="https://python.pt/blog/2021/01/19/instalacao-python-windows" target="_blank" rel="noopener"&gt;artigo&lt;/a&gt;.&lt;/div&gt;
&lt;div class="line"&gt;Se fizermos a instalação usando um terminal sem permissões de administrador,
a instalação vai ser apenas para o usuário logado no momento.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Confirmação instalção do Virtualenv" class="img-fluid rounded mx-auto d-block align-center" src="/images/antonio_02_02.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr class="docutils" /&gt;
&lt;div class="section" id="onde-guardar-os-ambientes-virtuais-nomes-e-quantidade"&gt;
&lt;h2&gt;Onde guardar os ambientes virtuais? Nomes e quantidade.&lt;/h2&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Vamos pensar juntos, se tivermos vários projetos que utilizam a mesma
versão do Python, e as mesmas bibliotecas, basta criar um ambiente virtual
para esses projetos.&lt;/div&gt;
&lt;div class="line"&gt;Bibliotecas diferentes já precisamos de ambientes diferentes.&lt;/div&gt;
&lt;div class="line"&gt;Mas resumindo, os ambientes virtuais podem ser guardados onde quiserem
e terem o nome que quiserem.&lt;/div&gt;
&lt;div class="line"&gt;Eu por exemplo, tenho uma pasta chamada devenvs onde guardo alguns.&lt;/div&gt;
&lt;div class="line"&gt;Para projetos maiores e em especial com Django eu guardo o ambiente virtual
dentro da própria pasta do projeto.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Vamos então criar uma pasta dentro da nossa pasta pessoal chamada ‘devenvs’.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Criar ambiente virtual" class="img-fluid rounded mx-auto d-block align-center" src="/images/antonio_02_03.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr class="docutils" /&gt;
&lt;div class="section" id="criar-um-ambiente-virtual"&gt;
&lt;h2&gt;Criar um ambiente virtual.&lt;/h2&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Entramos dentro da pasta que criamos anteriormente.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Agora temos duas opções, ou criamos uma nova pasta com o nome que escolhermos
para o ambiente virtual e depois dentro da pasta criamos o ambiente,
ou vamos criar diretamente a pasta e o ambiente ao mesmo tempo.&lt;/div&gt;
&lt;div class="line"&gt;Não sei explicar porquê, mas eu costumo criar primeiro a pasta escolhendo
já o nome do ambiente virtual e depois sim criar o ambiente virtual.&lt;/div&gt;
&lt;div class="line"&gt;Mas vou explicar as duas maneiras de fazer isso.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Dentro da pasta onde vamos guardar os ambientes virtuais, vamos
criar outra pasta chamada py390 (pode ser qualquer nome)&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Pasta dos ambientes virtuais" class="img-fluid rounded mx-auto d-block align-center" src="/images/antonio_02_04.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Vamos abrir um terminal, não é necessário um terminal com permissões de administrador.&lt;/div&gt;
&lt;div class="line"&gt;Podemos usar o comando:&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;cd&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Para chegar dentro da pasta onde vamos criar o ambiente virtual.&lt;/div&gt;
&lt;div class="line"&gt;Em seguida digitamos:&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;virtualenv&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Atenção precisamos digitar ‘ virtualenv ‘ um espaço e um ponto ‘ . ‘&lt;/div&gt;
&lt;div class="line"&gt;O ponto é necessário por que já criamos anteriormente a pasta do ambiente virtual.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Ambiente virtual" class="img-fluid rounded mx-auto d-block align-center" src="/images/antonio_02_05.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Já temos um ambiente virtual, com a versão Python 3.9.0.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Como utilizamos apenas ‘virtualenv’ sem definir a versão do Python,
foi criado um ambiente com a versão principal do Windows, recordem que
no meu caso tenho duas versões instalas no Windows, sendo a 3.9.0 a versão principal.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Agora chegou a hora de aprender como usar o ambiente virtual.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr class="docutils" /&gt;
&lt;div class="section" id="como-usar-o-virtualenv"&gt;
&lt;h2&gt;Como usar o Virtualenv&lt;/h2&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Antes de usar o ambiente virtual, por exemplo para instalar as bibliotecas
necessárias, é necessário ativa-lo.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;No terminal entramos dentro da pasta do ambiente virtual, no nosso caso
chama-se ‘py390’, e depois precisamos entrar dentro da pasta Scripts.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Dentro da pasta Scripts, digitamos&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;activate&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Este é o comando para ativar o ambiente virtual.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Reparem que agora entre parentes, temos o nome do ambiente virtual
confirmando que está ativado.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Explicando de uma maneira simples, foi criado temporariamente nas variáveis
de ambiente, um caminho (path) indicando ao Windows que a versão principal
do Python, é a versão que está no ambiente virtual ativado.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Podemos continuar dentro da pasta Scripts ou mover para outra, mas os
comandos ‘pip’ por exemplo para instalarmos bibliotecas necessárias,
vão instalar essas bibliotecas dentro do ambiente virtual.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Se arrancarmos pelo terminal agora, um arquivo .py, o interpretador
Python vai ser o do ambiente virtual.&lt;/div&gt;
&lt;div class="line"&gt;Se utilizarmos um IDE e indicarmos como interpretador o ambiente virtual,
a situação vai ser a mesma.&lt;/div&gt;
&lt;div class="line"&gt;Com Visual Studio Code ou PyCharm por exemplo, ao abrirmos um projeto e indicarmos o ambiente virtual o próprio IDE ativa o ambiente virtual&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Activar ambiente virtual" class="img-fluid rounded mx-auto d-block align-center" src="/images/antonio_02_06.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Para desactivar, basta digitar.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;deactivate&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Desactivar ambiente virtual" class="img-fluid rounded mx-auto d-block align-center" src="/images/antonio_02_07.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr class="docutils" /&gt;
&lt;div class="section" id="como-criar-um-ambiente-virtual-com-uma-versao-especifica-do-python"&gt;
&lt;h2&gt;Como criar um ambiente virtual com uma versão especifica do Python&lt;/h2&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Embora a maneira de usar seja igual, dentro da pasta ‘Scripts’
activamos com ‘activate’, ou desactivamos com o comando ‘deactivate’.&lt;/div&gt;
&lt;div class="line"&gt;Para criar este ambiente com uma versão do Python diferente, precisamos
digitar um parâmetro a mais.&lt;/div&gt;
&lt;div class="line"&gt;Vamos começar por criar uma nova pasta, onde vamos criar o novo ambiente virtual.&lt;/div&gt;
&lt;div class="line"&gt;Vamos chamar de py379.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Entramos no terminal, e usamos o comando:&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;cd&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Até entrarmos dentro da nova pasta, e digitamos:&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;virtualenv&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;python&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;3.7&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;E já temos um ambiente virtual com o Python 3.7.9.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Se neste momento, apareceu algum erro, mais abaixo tem uma nota importante,
onde explico outra forma de escolher a versão do Python para criar o ambiente virtual.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Aproveito para recordar que esta versão do Python já tinha sido instalada
anteriormente no Windows e está no PATH.&lt;/div&gt;
&lt;div class="line"&gt;Vejam este artigo: &lt;a href="https://python.pt/blog/2021/01/19/instalacao-python-windows" target="_blank" rel="noopener"&gt;Como instalar várias versões Python no Windows 10&lt;/a&gt;, se têm alguma dúvida.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Escolher a versão do Python" class="img-fluid rounded mx-auto d-block align-center" src="/images/antonio_02_08.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Vamos digitar alguns comandos para que seja possivel entender mais facilmente
como utilizar um ambiente virtual.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Podemos continuar no terminal, dentro da pasta do novo ambiente virtual,
e digitamos o comando:&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;python&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Reparem que o ambiente virtual não está ativado e por isso, o Python
é o 3.9.0, a versão principal do Windows.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Python 3.9.0" class="img-fluid rounded mx-auto d-block align-center" src="/images/antonio_02_09.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Continuamos digitando:&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Para sair do Python.&lt;/div&gt;
&lt;div class="line"&gt;Dentro da pasta do ambiente virtual py379, para entrarmos na pasta
Scripts, usamos:&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;cd&lt;/span&gt; &lt;span class="n"&gt;Scripts&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;E depois:&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;activate&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Agora que já ativamos o ambiente virtual, digitamos novamente.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;python&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Neste momento estamos a usar o Python 3.7.9.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Python 3.7.9" class="img-fluid rounded mx-auto d-block align-center" src="/images/antonio_02_10.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;strong&gt;Nota importante&lt;/strong&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Até agora criámos dois ambientes virtuais com Virtualenv,
com diferentes versões de Python já instaladas anteriormente.&lt;/div&gt;
&lt;div class="line"&gt;Mas as duas versões que usei neste tutorial, além de já estarem instaladas,
também estão no PATH do Windows.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;No caso de termos necessidade de criar um ambiente virtual com uma versão
do Python que não esteja no path, precisamos utilizar um comando que
indique o caminho completo do Python executável.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Podemos encontrar o caminho de várias maneiras, mas eu costumo usar o explorador do Windows.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Python" class="img-fluid rounded mx-auto d-block align-center" src="/images/antonio_02_11.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Voltamos para o terminal, criamos uma nova pasta dentro da pasta onde
guardamos os ambientes, desta vez vamos criar a pasta pelo terminal
em vez de usar o explorador do Windows.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Dentro da pasta ‘devenvs’, usamos o comando:&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;mkdir&lt;/span&gt; &lt;span class="n"&gt;venv379&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;para criar a pasta ‘venv379’, depois entramos nela com o comando:&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;cd&lt;/span&gt; &lt;span class="n"&gt;venv379&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Dentro da pasta onde vai ser criado o novo ambiente virtual em vez de usarmos&lt;/div&gt;
&lt;div class="line"&gt;‘virtualenv . –python=3.7.9’, vamos utilizar o comando:&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;virtualenv&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;python&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;C:\Program Files\Python37\python.exe&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Python" class="img-fluid rounded mx-auto d-block align-center" src="/images/antonio_02_12.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr class="docutils" /&gt;
&lt;div class="section" id="consideracoes-finais-e-resumo"&gt;
&lt;h2&gt;Considerações finais e resumo&lt;/h2&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Creio que neste momento já entenderam a necessidade de sempre desenvolvermos
nossos projetos utilizando ambientes virtuais, acredito também que já
todos conseguem criar e utilizar sem problemas Virtualenv.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Agora é possível instalar e desinstalar com segurança, novas  bibliotecas
e experimentarmos o que quisermos.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Para apagar um ambiente virtual basta apagar a pasta.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Como boa prática a primeira coisa que faço sempre, depois de criar um
ambiente virtual, é atualizar o ‘pip’ e o ‘setuptools’&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;E nunca esqueçam de ativar o ambiente para ser usado.&lt;/div&gt;
&lt;div class="line"&gt;No caso de mudarem as pastas de lugar lembrem também que é necessário
informar os IDEs que utilizam.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Autor: &lt;a href="https://github.com/Antonio-Neves" target="_blank" rel="noopener"&gt;António Manuel Neves&lt;/a&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><category term="python"></category><category term="virtualenv"></category><category term="windows"></category></entry><entry><title>Como instalar várias versões Python no Windows 10</title><link href="https://python.pt/blog/2021/01/19/instalacao-python-windows/" rel="alternate"></link><published>2021-01-19T17:00:00+00:00</published><updated>2021-01-19T17:00:00+00:00</updated><author><name>António Neves</name></author><id>tag:python.pt,2021-01-19:/blog/2021/01/19/instalacao-python-windows/</id><summary type="html">&lt;p class="first last"&gt;Como instalar várias versões Python no Windows 10, de maneira simples e rápida&lt;/p&gt;
</summary><content type="html">&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Python no windows 10" class="img-fluid rounded mx-auto d-block align-center" src="/images/antonio_01_01.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Neste post vou explicar como instalar várias versões Python no Windows 10.&lt;/div&gt;
&lt;div class="line"&gt;Python é uma incrível linguagem de programação, e no momento que escrevo este
artigo encontra-se na versão 3.9.1.&lt;/div&gt;
&lt;div class="line"&gt;Existem várias razões para que seja necessário ter instaladas várias versões
do Python, no meu caso, utilizo Kivy para criar aplicações e sistemas desktop,
mas o Kivy não funciona, pelo menos na altura em que estou a escrever este artigo,
com versões do Python superiores a 3.7.9.&lt;/div&gt;
&lt;div class="line"&gt;Outra razão para ter várias versões instaladas pode ser a necessidade
de usar ou alterar um programa criado com uma versão do Python diferente
da que usamos atualmente.&lt;/div&gt;
&lt;div class="line"&gt;Aproveito para lembrar que sempre devemos utilizar ambientes virtuais para
desenvolvermos algo, como explico neste artigo:&lt;/div&gt;
&lt;div class="line"&gt;&lt;a href="https://python.pt/blog/2021/01/20/virtualenv-windows" target="_blank" rel="noopener"&gt;Como usar e criar Virtualenv no Windows 10&lt;/a&gt;.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Eu só instalo no sistema operativo as versões de Python que necessito
e em seguida todas as instalações de bibliotecas necessárias, como por
exemplo Django, Kivy e outras vão ser instaladas nos ambientes virtuais.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr class="docutils" /&gt;
&lt;div class="section" id="consideracoes-iniciais"&gt;
&lt;h2&gt;Considerações Iniciais&lt;/h2&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Vou explicar como instalar duas versões do Python no Windows 10.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;a href="https://www.python.org/downloads/release/python-390/" target="_blank" rel="noopener"&gt;Python 3.9.0&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;a href="https://www.python.org/downloads/release/python-379/" target="_blank" rel="noopener"&gt;Python 3.7.9&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr class="docutils" /&gt;
&lt;div class="section" id="downloads-necessarios"&gt;
&lt;h2&gt;Downloads necessários&lt;/h2&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Vamos na página de downloads do Python para Windows para escolhermos as versões que necessitamos.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;a href="https://www.python.org/downloads/windows/" target="_blank" rel="noopener"&gt;www.python.org/downloads/windows/&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Para o nosso tutorial escolhemos as opções ” Windows x86-64 executable installer “&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Versões do Python" class="img-fluid rounded d-block align-center" src="/images/antonio_01_02.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr class="docutils" /&gt;
&lt;div class="section" id="instalacao-python-3-9-0"&gt;
&lt;h2&gt;Instalação Python 3.9.0&lt;/h2&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Vamos começar a instalação.&lt;/div&gt;
&lt;div class="line"&gt;Depois de iniciar o arquivo baixado anteriormente, deixamos marcadas
as opções, como na foto, em seguida apertamos em “Customize Installation”.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Instalação do Python 3.9.0" class="img-fluid rounded d-block align-left" src="/images/antonio_01_03.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Agora que estamos na seção de instalação customizável, (custumize installation),
marcamos todas as opções como na foto abaixo e depois apertamos “Next”.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Instalação do Python 3.9.0 opções" class="img-fluid rounded d-block align-left" src="/images/antonio_01_04.png" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Na próxima seção marcamos as opções como no foto abaixo.&lt;/div&gt;
&lt;div class="line"&gt;Eu deixo a opção de associação de arquivos .py desmarcada,
por que sempre prefiro abrir diretamente os arquivos com um editor de texto,
eu uso &lt;a href="https://www.sublimetext.com/" target="_blank" rel="noopener"&gt;Sublime Text 3&lt;/a&gt;, é muito rápido, leve e muito customizável, para
desenvolver um projeto completo, um sistema, uma aplicação, utilizo &lt;a href="https://www.jetbrains.com/pt-br/pycharm/" target="_blank" rel="noopener"&gt;PyCharm&lt;/a&gt;,
mas para abrir um arquivo, fazer um teste, uma alteração simples, Sublime é o ideal.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;O local de instalação deixamos em: C:\Program Files\Python39.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Em seguida podemos finalmente apertar em “Install”.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Instalação do Python 3.9.0 opções" class="img-fluid rounded d-block align-left" src="/images/antonio_01_05.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Terminando a instalação, desabilitamos a limitação de 260 caracteres para o Path.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Apertamos em Close e já temos o Python 3.9.0 no Windows 10.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Instalação do Python 3.9.0 final" class="img-fluid rounded d-block align-left" src="/images/antonio_01_06.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr class="docutils" /&gt;
&lt;div class="section" id="confirmar-a-instalacao"&gt;
&lt;h2&gt;Confirmar a instalação&lt;/h2&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Para confirmar a instalação podemos abrir o terminal e digitar alguns comandos.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;python&lt;/span&gt;
&lt;span class="n"&gt;py&lt;/span&gt;
&lt;span class="n"&gt;where&lt;/span&gt; &lt;span class="n"&gt;python&lt;/span&gt;
&lt;span class="n"&gt;python&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;V&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Instalação do Python 3.9.0 confirmação" class="img-fluid rounded d-block align-left" src="/images/antonio_01_07.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr class="docutils" /&gt;
&lt;div class="section" id="instalacao-python-3-7-9"&gt;
&lt;h2&gt;Instalação Python 3.7.9&lt;/h2&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Chegamos no momento de instalar outra versão do Python, neste caso
vamos usar Python 3.7.9.&lt;/div&gt;
&lt;div class="line"&gt;Abrimos o arquivo e seguimos os mesmos passos da instalação anterior,
vou deixar umas fotos com as opções que eu deixo selecionadas.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Instalação do Python 3.7.9" class="img-fluid rounded d-block align-left" src="/images/antonio_01_08.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Instalação do Python 3.7.9 opções" class="img-fluid rounded d-block align-left" src="/images/antonio_01_09.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Instalação do Python 3.7.9 final" class="img-fluid rounded d-block align-left" src="/images/antonio_01_10.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr class="docutils" /&gt;
&lt;div class="section" id="confirmar-a-instalacao-do-python-3-7-9"&gt;
&lt;h2&gt;Confirmar a instalação do Python 3.7.9&lt;/h2&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;No menu de programas do Windows, já podemos ver que temos as duas versões do Python que instalámos.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Instalação do Python 3.7.9 confirmação" class="img-fluid rounded d-block align-left" src="/images/antonio_01_11.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Mas &lt;strong&gt;ATENÇÂO&lt;/strong&gt; ao abrirmos o terminal e usarmos os comandos para utilizar
ou para confirmar a versão do Python, descobrimos que talvez a versão
principal não seja a que preferimos.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Instalação do Python 3.7.9 confirmação" class="img-fluid rounded d-block align-left" src="/images/antonio_01_12.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Um problema que podemos resolver facilmente, alterando as variáveis de
ambiente, para que possamos ter no Windows, como versão principal do
Python a que nós preferirmos.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr class="docutils" /&gt;
&lt;div class="section" id="variaveis-de-ambiente-path"&gt;
&lt;h2&gt;Variáveis de ambiente (PATH)&lt;/h2&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Existem várias maneiras de chegarmos às variáveis de ambiente.&lt;/div&gt;
&lt;div class="line"&gt;Eu costumo ir pelo explorador do Windows.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Path do Windows acessar" class="img-fluid rounded d-block align-left" src="/images/antonio_01_13.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Path do Windows acessar" class="img-fluid rounded d-block align-left" src="/images/antonio_01_14.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Path do Windows acessar" class="img-fluid rounded d-block align-left" src="/images/antonio_01_15.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Ao entrarmos na janela “Variáveis de Ambiente” selecionamos “Path” e
apertamos em “Editar”, como na foto abaixo.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Path do Windows alterar" class="img-fluid rounded d-block align-left" src="/images/antonio_01_16.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Nesta janela selecionamos com um clik do mouse o caminho (path).&lt;/div&gt;
&lt;div class="line"&gt;&lt;strong&gt;C:\Program Files\Python39\Scripts&lt;/strong&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Em seguida apertamos em “Mover para Cima” até que seja o primeiro.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Vamos agora fazer o mesmo com o caminho.&lt;/div&gt;
&lt;div class="line"&gt;&lt;strong&gt;C:\Program Files\Python39\.&lt;/strong&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Path do Windows alterar" class="img-fluid rounded d-block align-left" src="/images/antonio_01_17.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Path do Windows alterar" class="img-fluid rounded d-block align-left" src="/images/antonio_01_18.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Para terminar, o nosso PATH deve ficar como na foto abaixo.&lt;/div&gt;
&lt;div class="line"&gt;Finalmente apertamos em “OK” em todas as janelas para fechar.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Path do Windows alterar" class="img-fluid rounded d-block align-left" src="/images/antonio_01_19.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr class="docutils" /&gt;
&lt;div class="section" id="confirmacao"&gt;
&lt;h2&gt;Confirmação&lt;/h2&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Na seção anterior vimos como escolher a versão 3.9.0 para que seja
o Python principal do Windows.&lt;/div&gt;
&lt;div class="line"&gt;Vamos agora confirmar que tudo está certo digitando no terminal os comandos já conhecidos.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img alt="Confirmação instalação Python no Windows" class="img-fluid rounded d-block align-left" src="/images/antonio_01_20.jpeg" /&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr class="docutils" /&gt;
&lt;div class="section" id="como-instalar-varias-versoes-python-no-windows-10-conclusao"&gt;
&lt;h2&gt;Como instalar várias versões Python no Windows 10, conclusão.&lt;/h2&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Quero lembrar que qualquer instalação do Python no sistema operativo
deve ficar “limpa” e sem alterações.&lt;/div&gt;
&lt;div class="line"&gt;Para desenvolver um projeto, sistema, programa, etc, que necessite utilizar
outras bibliotecas, devemos utilizar ambientes virtuais, como explico
neste artigo:&lt;/div&gt;
&lt;div class="line"&gt;&lt;a href="https://python.pt/blog/2021/01/20/virtualenv-windows" target="_blank" rel="noopener"&gt;Como usar e criar Virtualenv no Windows 10&lt;/a&gt;.&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;Autor: &lt;a href="https://github.com/Antonio-Neves" target="_blank" rel="noopener"&gt;António Manuel Neves&lt;/a&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="line"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><category term="python"></category><category term="windows"></category><category term="instalação"></category></entry><entry><title>Nova equipa, uma nova imagem e novas ambições</title><link href="https://python.pt/blog/2019/03/09/apeloParticipacao/" rel="alternate"></link><published>2019-03-09T17:00:00+00:00</published><updated>2019-03-09T17:00:00+00:00</updated><author><name>Henrique Azevedo</name></author><id>tag:python.pt,2019-03-09:/blog/2019/03/09/apeloParticipacao/</id><summary type="html">&lt;p class="first last"&gt;Apelo à participação e divulgação da comunidade Python Portugal&lt;/p&gt;
</summary><content type="html">&lt;p&gt;Olá,&lt;/p&gt;
&lt;p&gt;Estamos de volta, com uma nova equipa, uma nova imagem e novas ambições.&lt;/p&gt;
&lt;p&gt;Esta pequena equipa, de 3 pessoas, começou por conjugar ideias e definiu pequenas etapas a cumprir. Essas etapas passam por renovar o site, renovar as plataformas de comunicação, fazer a divulgação do portal e plataformas, apelar à participação na comunidade e por fim, criar actividades que dinamizem a comunidade.&lt;/p&gt;
&lt;p&gt;O dinamismo das comunidades é fomentado e fortalecido pela participação de todos e como tal, gostaríamos de apelar à vossa participação, com ideias, com ensinamentos, com actividades que façam crescer esta comunidade.&lt;/p&gt;
&lt;p&gt;Desta forma, fica aqui o pedido à vossa participação e divulgação desta comunidade através das plataformas de comunicação:  &lt;a class="reference external" href="http://python.pt/ondeestamos/"&gt;http://python.pt/ondeestamos/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Cumprimentos&lt;/p&gt;
</content><category term="nova imagem"></category></entry><entry><title>Nova imagem do site</title><link href="https://python.pt/blog/2019/03/01/nova-imagem/" rel="alternate"></link><published>2019-03-01T13:00:00+00:00</published><updated>2019-03-01T13:00:00+00:00</updated><author><name>Luis Louro</name></author><id>tag:python.pt,2019-03-01:/blog/2019/03/01/nova-imagem/</id><summary type="html">&lt;p class="first last"&gt;Novo site da comunidade Python Portugal&lt;/p&gt;
</summary><content type="html">&lt;p&gt;O Python Portugal é uma comunidade de utilizadores portugueses de Python, que tem como objectivo a partilha de experiências, difundir e divulgar a linguagem de programação Python.&lt;/p&gt;
&lt;p&gt;O grupo foi criado em 21 de Abril de 2009 e a página da comunidade foi na altura feita em Django mas com o tempo foi ficando desactualizada e era preciso dar-lhe uma cara nova. Decidimos migrar para Pelican, um gerador de páginas estáticas feito com Python e aqui está o novo site.&lt;/p&gt;
&lt;p&gt;Qualquer pessoa com interesse pela comunidade e por Python pode participar no desenvolvimento da página fazendo fork ao nosso &lt;a class="reference external" href="https://github.com/pythonpt/pythonpt.github.io-src"&gt;repositório&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Se deseja aprender a linguagem de programação Python ou já a usa para os seus projectos, explore esta página e junte-se a nós.&lt;/p&gt;
&lt;p&gt;Happy Hacking!&lt;/p&gt;
</content><category term="nova imagem"></category></entry><entry><title>Nova secção de análise de livros</title><link href="https://python.pt/blog/2010/12/29/nova-seccao-de-analise-de-livros/" rel="alternate"></link><published>2010-12-29T15:41:11+00:00</published><updated>2010-12-29T15:41:11+00:00</updated><author><name>Nuno Mariz</name></author><id>tag:python.pt,2010-12-29:/blog/2010/12/29/nova-seccao-de-analise-de-livros/</id><summary type="html">&lt;p&gt;A secção de análise de livros já se encontra online.&lt;/p&gt;
&lt;p&gt;Neste momento tem cerca de 35 livros de 3 editoras. Para quem tem conta no site tem a possibilidade de comentar e votar nos livros, quem desejar fazer uma análise mais profunda de algum livro, poderá enviar a mesma para …&lt;/p&gt;</summary><content type="html">&lt;p&gt;A secção de análise de livros já se encontra online.&lt;/p&gt;
&lt;p&gt;Neste momento tem cerca de 35 livros de 3 editoras. Para quem tem conta no site tem a possibilidade de comentar e votar nos livros, quem desejar fazer uma análise mais profunda de algum livro, poderá enviar a mesma para a mailing list.&lt;/p&gt;
&lt;p&gt;Como sempre contamos com o vosso feedback para reportar eventuais bugs ou melhoramentos.&lt;/p&gt;
</content><category term="livros"></category></entry><entry><title>Secção de análise de livros</title><link href="https://python.pt/blog/2010/06/02/seccao-de-analise-de-livros/" rel="alternate"></link><published>2010-06-02T14:44:24+01:00</published><updated>2010-06-02T14:44:24+01:00</updated><author><name>Nuno Mariz</name></author><id>tag:python.pt,2010-06-02:/blog/2010/06/02/seccao-de-analise-de-livros/</id><summary type="html">&lt;p&gt;Estamos a finalizar a aplicação de análise de livros. Nesta aplicação vamos ter uma listagem de livros, na qual os utilizadores podem efectuar votações e comentários, assim como as análises de livros efectuadas pelos membros.&lt;/p&gt;
&lt;p&gt;Neste momento já temos uma análise feita pelo &lt;strong&gt;Paulo Köch&lt;/strong&gt; do livro &amp;quot;&lt;a class="reference external" href="http://www.packtpub.com/expert-python-programming/book?utm_source=python.pt&amp;amp;utm_medium=bookrev&amp;amp;utm_content=other&amp;amp;utm_campaign=mdb_003547"&gt;Expert Python Programming …&lt;/a&gt;&lt;/p&gt;</summary><content type="html">&lt;p&gt;Estamos a finalizar a aplicação de análise de livros. Nesta aplicação vamos ter uma listagem de livros, na qual os utilizadores podem efectuar votações e comentários, assim como as análises de livros efectuadas pelos membros.&lt;/p&gt;
&lt;p&gt;Neste momento já temos uma análise feita pelo &lt;strong&gt;Paulo Köch&lt;/strong&gt; do livro &amp;quot;&lt;a class="reference external" href="http://www.packtpub.com/expert-python-programming/book?utm_source=python.pt&amp;amp;utm_medium=bookrev&amp;amp;utm_content=other&amp;amp;utm_campaign=mdb_003547"&gt;Expert Python Programming&lt;/a&gt;&amp;quot;, esta análise irá online quando a aplicação estiver finalizada.&lt;/p&gt;
&lt;p&gt;No mesmo contexto, a &lt;a class="reference external" href="http://www.PacktPub.com/"&gt;Packt Publishing&lt;/a&gt; está a oferecer descontos nos seus livros, para saber mais detalhes subscreva a nossa &lt;a class="reference external" href="http://groups.google.com/group/python-pt&amp;quot;"&gt;mailing list&lt;/a&gt;.&lt;/p&gt;
</content><category term="livros"></category></entry><entry><title>DEI Academy</title><link href="https://python.pt/blog/2009/09/16/dei-academy/" rel="alternate"></link><published>2009-09-16T09:32:20+01:00</published><updated>2009-09-16T09:32:20+01:00</updated><author><name>Nuno Mariz</name></author><id>tag:python.pt,2009-09-16:/blog/2009/09/16/dei-academy/</id><summary type="html">&lt;p&gt;A &lt;a class="reference external" href="http://academy.dei.uc.pt"&gt;DEI Academy&lt;/a&gt; é um projecto do &lt;a class="reference external" href="http://www.dei.uc.pt"&gt;Departamento de Engenharia Informática da Universidade de Coimbra&lt;/a&gt;, feito para todos os alunos do secundário que possam estar interessados em seguir informática na Universidade.&lt;/p&gt;
&lt;p&gt;Este projecto possui tutoriais interactivos para a aprender a programar.&lt;/p&gt;
&lt;p&gt;De salientar a escolha da linguagem de programação Python …&lt;/p&gt;</summary><content type="html">&lt;p&gt;A &lt;a class="reference external" href="http://academy.dei.uc.pt"&gt;DEI Academy&lt;/a&gt; é um projecto do &lt;a class="reference external" href="http://www.dei.uc.pt"&gt;Departamento de Engenharia Informática da Universidade de Coimbra&lt;/a&gt;, feito para todos os alunos do secundário que possam estar interessados em seguir informática na Universidade.&lt;/p&gt;
&lt;p&gt;Este projecto possui tutoriais interactivos para a aprender a programar.&lt;/p&gt;
&lt;p&gt;De salientar a escolha da linguagem de programação Python.&lt;/p&gt;
</content><category term="python"></category><category term="tutoriais"></category></entry><entry><title>Django 1.1</title><link href="https://python.pt/blog/2009/07/29/django-11/" rel="alternate"></link><published>2009-07-29T10:18:23+01:00</published><updated>2009-07-29T10:18:23+01:00</updated><author><name>Nuno Mariz</name></author><id>tag:python.pt,2009-07-29:/blog/2009/07/29/django-11/</id><summary type="html">&lt;p&gt;Foi lançada a versão 1.1 da framework Django.&lt;/p&gt;
&lt;p&gt;Para além das &lt;a class="reference external" href="http://www.djangoproject.com/weblog/2009/jul/28/security/"&gt;actualizações de segurança&lt;/a&gt; existe uma extensa &lt;a class="reference external" href="http://docs.djangoproject.com/en/dev/releases/1.1/"&gt;lista de novidades&lt;/a&gt;.&lt;/p&gt;
</summary><content type="html">&lt;p&gt;Foi lançada a versão 1.1 da framework Django.&lt;/p&gt;
&lt;p&gt;Para além das &lt;a class="reference external" href="http://www.djangoproject.com/weblog/2009/jul/28/security/"&gt;actualizações de segurança&lt;/a&gt; existe uma extensa &lt;a class="reference external" href="http://docs.djangoproject.com/en/dev/releases/1.1/"&gt;lista de novidades&lt;/a&gt;.&lt;/p&gt;
</content><category term="django"></category><category term="frameworks"></category></entry><entry><title>Python 3.1</title><link href="https://python.pt/blog/2009/07/02/python-31/" rel="alternate"></link><published>2009-07-02T09:22:02+01:00</published><updated>2009-07-02T09:22:02+01:00</updated><author><name>Nuno Mariz</name></author><id>tag:python.pt,2009-07-02:/blog/2009/07/02/python-31/</id><summary type="html">&lt;p&gt;Foi lançada no passado dia 27 de Junho a versão 3.1 do Python.&lt;/p&gt;
&lt;p&gt;A lista das novidades encontram-se &lt;a class="reference external" href="http://docs.python.org/dev/py3k/whatsnew/3.1.html"&gt;aqui&lt;/a&gt;.&lt;/p&gt;
</summary><content type="html">&lt;p&gt;Foi lançada no passado dia 27 de Junho a versão 3.1 do Python.&lt;/p&gt;
&lt;p&gt;A lista das novidades encontram-se &lt;a class="reference external" href="http://docs.python.org/dev/py3k/whatsnew/3.1.html"&gt;aqui&lt;/a&gt;.&lt;/p&gt;
</content><category term="python"></category></entry><entry><title>Micro frameworks em Python</title><link href="https://python.pt/blog/2009/05/28/micro-frameworks-em-python/" rel="alternate"></link><published>2009-05-28T10:44:16+01:00</published><updated>2009-05-28T10:44:16+01:00</updated><author><name>Nuno Mariz</name></author><id>tag:python.pt,2009-05-28:/blog/2009/05/28/micro-frameworks-em-python/</id><summary type="html">&lt;p&gt;As &lt;em&gt;micro frameworks&lt;/em&gt; em &lt;a class="reference external" href="http://www.python.org/"&gt;Python&lt;/a&gt; estão na moda hoje em dia, julgo que têm o seu espaço nomeadamente para pequenos webservices.
Com o &lt;a class="reference external" href="http://www.python.org/dev/peps/pep-0333/"&gt;PEP 333&lt;/a&gt;, que especifica o &lt;a class="reference external" href="http://www.wsgi.org/"&gt;WSGI(Python Web Server Gateway Interface)&lt;/a&gt; e a diversidade de módulos existentes para as diversas componentes necessárias para a sua construção, torna …&lt;/p&gt;</summary><content type="html">&lt;p&gt;As &lt;em&gt;micro frameworks&lt;/em&gt; em &lt;a class="reference external" href="http://www.python.org/"&gt;Python&lt;/a&gt; estão na moda hoje em dia, julgo que têm o seu espaço nomeadamente para pequenos webservices.
Com o &lt;a class="reference external" href="http://www.python.org/dev/peps/pep-0333/"&gt;PEP 333&lt;/a&gt;, que especifica o &lt;a class="reference external" href="http://www.wsgi.org/"&gt;WSGI(Python Web Server Gateway Interface)&lt;/a&gt; e a diversidade de módulos existentes para as diversas componentes necessárias para a sua construção, torna a tarefa de contruir uma &lt;em&gt;framework&lt;/em&gt; relativamente fácil.
O &lt;a class="reference external" href="http://bitworking.org/"&gt;Joe Gregorio&lt;/a&gt; exemplifica claramente esta ideia numa entrada no seu blog chamada &amp;quot;&lt;a class="reference external" href="http://bitworking.org/news/Why_so_many_Python_web_frameworks"&gt;Why so many Python web frameworks?&lt;/a&gt;&amp;quot;.&lt;/p&gt;
&lt;p&gt;Alguns exemplos de micro frameworks em Python:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="http://webpy.org/"&gt;web.py&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://bobo.digicool.com/"&gt;bobo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://github.com/toastdriven/itty/tree/master"&gt;itty&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://github.com/breily/juno/tree/master"&gt;juno&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://github.com/simonw/djng/tree/master"&gt;djng&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://github.com/garethr/mnml/tree/master"&gt;mnml&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://github.com/JaredKuolt/newf/tree/master"&gt;newf&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><category term="frameworks"></category></entry><entry><title>Bem-vindo</title><link href="https://python.pt/blog/2009/05/15/bem-vindo/" rel="alternate"></link><published>2009-05-15T17:23:52+01:00</published><updated>2009-05-15T17:23:52+01:00</updated><author><name>Nuno Mariz</name></author><id>tag:python.pt,2009-05-15:/blog/2009/05/15/bem-vindo/</id><summary type="html">&lt;p&gt;O Python Portugal é uma comunidade de utilizadores portugueses de &lt;a class="reference external" href="http://www.python.org"&gt;Python&lt;/a&gt;, que tem como objectivo a partilha de experiências, difundir e divulgar a linguagem de programação &lt;a class="reference external" href="http://www.python.org"&gt;Python&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;O grupo foi criado em 21 de Abril de 2009 e tem funcionado até agora apenas com uma &lt;a class="reference external" href="http://groups.google.com/group/python-pt"&gt;mailing list&lt;/a&gt; e uma conta …&lt;/p&gt;</summary><content type="html">&lt;p&gt;O Python Portugal é uma comunidade de utilizadores portugueses de &lt;a class="reference external" href="http://www.python.org"&gt;Python&lt;/a&gt;, que tem como objectivo a partilha de experiências, difundir e divulgar a linguagem de programação &lt;a class="reference external" href="http://www.python.org"&gt;Python&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;O grupo foi criado em 21 de Abril de 2009 e tem funcionado até agora apenas com uma &lt;a class="reference external" href="http://groups.google.com/group/python-pt"&gt;mailing list&lt;/a&gt; e uma conta de &lt;a class="reference external" href="http://twitter.com/python_pt"&gt;Twitter&lt;/a&gt;. A página estreia-se hoje apenas com o blog e uma secção de links.
Os futuros planos da página passam por acrescentar algumas secções que julgo importantes, tais como a bolsa de emprego, um planeta com a agregação de entradas de blog dos membros, uma secção de análise de livros e um Wiki.&lt;/p&gt;
&lt;p&gt;A página foi criada com a framework &lt;a class="reference external" href="http://www.djangoproject.com/"&gt;Django&lt;/a&gt; e posteriormente será colocada num repositório público de forma a que os membros colaborem na sua evolução ou para quem esteja interessado em aprender a framework.&lt;/p&gt;
&lt;p&gt;Se é um utilizador ou se deseja aprender a linguagem de programação &lt;a class="reference external" href="http://www.python.org"&gt;Python&lt;/a&gt;, junte-se a nós. Pode começar pelo registo na página e na mailing list.&lt;/p&gt;
&lt;p&gt;Divirta-se, &lt;a class="reference external" href="http://mariz.org"&gt;Nuno Mariz&lt;/a&gt;.&lt;/p&gt;
</content><category term="django"></category><category term="grupo"></category><category term="python"></category></entry></feed>