diff --git a/content/blog/2021-01-19-instalacao-python-windows.rst b/content/blog/2021-01-19-instalacao-python-windows.rst
index ac5ac85..5867739 100644
--- a/content/blog/2021-01-19-instalacao-python-windows.rst
+++ b/content/blog/2021-01-19-instalacao-python-windows.rst
@@ -73,7 +73,7 @@ Downloads necessários
www.python.org/downloads/windows/
|
-| Para o nosso tutorial vou escolher as opções ” Windows x86-64 executable installer “
+| Para o nosso tutorial escolhemos as opções ” Windows x86-64 executable installer “
|
.. image:: /images/antonio_01_02.jpeg
@@ -90,8 +90,8 @@ Instalação Python 3.9.0
|
| Vamos começar a instalação.
-| Depois de iniciar o arquivo baixado anteriormente, recomendo que deixem
- marcadas as opções, como mostro na foto, em seguida apertamos em “Customize Installation”.
+| Depois de iniciar o arquivo baixado anteriormente, deixamos marcadas
+ as opções, como na foto, em seguida apertamos em “Customize Installation”.
|
.. image:: /images/antonio_01_03.jpeg
@@ -119,7 +119,7 @@ Instalação Python 3.9.0
desenvolver um projeto completo, um sistema, uma aplicação, utilizo |pycharm|,
mas para abrir um arquivo, fazer um teste, uma alteração simples, Sublime é o ideal.
|
-| O local de instalação deixo em: C:\\Program Files\\Python39.
+| O local de instalação deixamos em: C:\\Program Files\\Python39.
|
| Em seguida podemos finalmente apertar em “Install”.
@@ -140,7 +140,7 @@ Instalação Python 3.9.0
|
|
-| Terminando a instalação, eu desabilito a limitação de 260 caracteres para o Path.
+| Terminando a instalação, desabilitamos a limitação de 260 caracteres para o Path.
|
| Apertamos em Close e já temos o Python 3.9.0 no Windows 10.
|
@@ -246,7 +246,9 @@ Confirmar a instalação do Python 3.7.9
|
|
-| 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.
+| 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.
|
|
@@ -319,8 +321,8 @@ Variáveis de ambiente (PATH)
|
|
-| Para terminar, o nosso PATH deve ficar como na foto abaixo. Finalmente
- apertamos em “OK” em todas as janelas para fechar.
+| Para terminar, o nosso PATH deve ficar como na foto abaixo.
+| Finalmente apertamos em “OK” em todas as janelas para fechar.
|
.. image:: /images/antonio_01_19.jpeg
@@ -337,7 +339,8 @@ Confirmação
-----------
|
-| Na seção anterior eu mostrei como escolher a versão 3.9.0 para que seja o Python principal do Windows.
+| Na seção anterior vimos como escolher a versão 3.9.0 para que seja
+ o Python principal do Windows.
| Vamos agora confirmar que tudo está certo digitando no terminal os comandos já conhecidos.
|
|
@@ -352,8 +355,8 @@ Confirmação
------
-Como instalar várias versões Python no Windows 10
--------------------------------------------------
+Como instalar várias versões Python no Windows 10, conclusão.
+-------------------------------------------------------------
|
| Quero lembrar que qualquer instalação do Python no sistema operativo
@@ -363,10 +366,14 @@ Como instalar várias versões Python no Windows 10
neste artigo:
| |virtualenv_windows|.
|
-| Para finalizar, agradeço por teres chegado até aqui, e desejo que este post tenha sido útil.
+| Autor |antonio_neves|
|
|
.. |virtualenv_windows| raw:: html
Como usar e criar Virtualenv no Windows 10
+
+.. |antonio_neves| raw:: html
+
+ António Manuel Neves
diff --git a/content/blog/2021-01-20-virtualenv-windows.rst b/content/blog/2021-01-20-virtualenv-windows.rst
index 41972b9..05fec9f 100644
--- a/content/blog/2021-01-20-virtualenv-windows.rst
+++ b/content/blog/2021-01-20-virtualenv-windows.rst
@@ -10,4 +10,489 @@ Como usar e criar Virtualenv no Windows 10
:authors: António Neves
|
-| Ainda sendo redigido.
+
+.. image:: /images/antonio_02_01.jpeg
+ :class: img-fluid rounded mx-auto d-block
+ :align: center
+ :alt: Virtualenv no windows 10
+
+|
+| Neste artigo vou explicar a necessidade de utilizar ambientes virtuais,
+ como usar e criar, com Virtualenv no Windows 10.
+| Existem outras boas ferramentas para criar ambientes virtuais, mas sem
+ dúvida Virtualenv é um dos mais queridos e usados.
+|
+
+------
+
+Ambientes virtuais, porquê?
+---------------------------
+
+|
+| 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.
+| Reparem que já começa a ficar tudo um pouco confuso, tudo instalado na
+ mesma pasta junto da instalação principal do Python.
+| 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.
+| E agora? Desinstalamos uma e deixamos a outra?
+| 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.
+| Entendem agora como o ideal é sempre ter uma instalação Python para cada
+ projeto que vamos desenvolver?
+| 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.
+| 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.
+| 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.
+|
+| É importante também não confundir, versões diferentes do Python no Windows
+ com ambientes virtuais diferentes.
+| 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.
+| Neste artigo explico |python_windows|.
+| 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.
+|
+
+.. |python_windows| raw:: html
+
+ Como instalar várias versões Python no Windows 10
+
+------
+
+Considerações Iniciais
+----------------------
+
+|
+| No meu sistema já tenho instalado o Python 3.7.9 e o Python 3.9.0.
+|
+| Vamos usar o terminal e o explorador do Windows.
+|
+
+------
+
+Instalação Virtualenv
+---------------------
+
+|
+| 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.
+|
+
+.. code-block:: python
+
+ where virtualenv
+
+|
+| No caso de não estar instalado simplesmente digitamos.
+|
+
+.. code-block:: python
+
+ pip install virtualenv
+
+|
+| Na foto abaixo, podemos ver que no meu sistema já tenho o virtualenv instalado.
+| 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.
+| 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 |python_windows_2|.
+| 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.
+|
+|
+
+.. |python_windows_2| raw:: html
+
+ artigo
+
+.. image:: /images/antonio_02_02.jpeg
+ :class: img-fluid rounded mx-auto d-block
+ :align: center
+ :alt: Confirmação instalção do Virtualenv
+
+|
+|
+
+------
+
+Onde guardar os ambientes virtuais? Nomes e quantidade.
+-------------------------------------------------------
+
+|
+| 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.
+| Bibliotecas diferentes já precisamos de ambientes diferentes.
+| Mas resumindo, os ambientes virtuais podem ser guardados onde quiserem
+ e terem o nome que quiserem.
+| Eu por exemplo, tenho uma pasta chamada devenvs onde guardo alguns.
+| Para projetos maiores e em especial com Django eu guardo o ambiente virtual
+ dentro da própria pasta do projeto.
+|
+| Vamos então criar uma pasta dentro da nossa pasta pessoal chamada ‘devenvs’.
+|
+|
+
+.. image:: /images/antonio_02_03.jpeg
+ :class: img-fluid rounded mx-auto d-block
+ :align: center
+ :alt: Criar ambiente virtual
+
+|
+|
+
+------
+
+Criar um ambiente virtual.
+--------------------------
+
+|
+| Entramos dentro da pasta que criamos anteriormente.
+|
+| 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.
+| 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.
+| Mas vou explicar as duas maneiras de fazer isso.
+|
+| Dentro da pasta onde vamos guardar os ambientes virtuais, vamos
+ criar outra pasta chamada py390 (pode ser qualquer nome)
+|
+|
+
+.. image:: /images/antonio_02_04.jpeg
+ :class: img-fluid rounded mx-auto d-block
+ :align: center
+ :alt: Pasta dos ambientes virtuais
+
+|
+|
+| Vamos abrir um terminal, não é necessário um terminal com permissões de administrador.
+| Podemos usar o comando:
+|
+
+.. code-block:: python
+
+ cd
+
+|
+| Para chegar dentro da pasta onde vamos criar o ambiente virtual.
+| Em seguida digitamos:
+|
+
+.. code-block:: python
+
+ virtualenv .
+
+|
+| Atenção precisamos digitar ‘ virtualenv ‘ um espaço e um ponto ‘ . ‘
+| O ponto é necessário por que já criamos anteriormente a pasta do ambiente virtual.
+|
+|
+
+.. image:: /images/antonio_02_05.jpeg
+ :class: img-fluid rounded mx-auto d-block
+ :align: center
+ :alt: Ambiente virtual
+
+|
+|
+| Já temos um ambiente virtual, com a versão Python 3.9.0.
+|
+| 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.
+|
+| Agora chegou a hora de aprender como usar o ambiente virtual.
+|
+|
+
+------
+
+Como usar o Virtualenv
+----------------------
+
+| Antes de usar o ambiente virtual, por exemplo para instalar as bibliotecas
+ necessárias, é necessário ativa-lo.
+|
+| No terminal entramos dentro da pasta do ambiente virtual, no nosso caso
+ chama-se ‘py390’, e depois precisamos entrar dentro da pasta Scripts.
+|
+| Dentro da pasta Scripts, digitamos
+|
+
+.. code-block:: python
+
+ activate
+
+|
+| Este é o comando para ativar o ambiente virtual.
+|
+| Reparem que agora entre parentes, temos o nome do ambiente virtual
+ confirmando que está ativado.
+|
+| 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.
+|
+| 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.
+|
+| Se arrancarmos pelo terminal agora, um arquivo .py, o interpretador
+ Python vai ser o do ambiente virtual.
+| Se utilizarmos um IDE e indicarmos como interpretador o ambiente virtual,
+ a situação vai ser a mesma.
+| 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
+|
+|
+
+.. image:: /images/antonio_02_06.jpeg
+ :class: img-fluid rounded mx-auto d-block
+ :align: center
+ :alt: Activar ambiente virtual
+
+|
+|
+| Para desactivar, basta digitar.
+|
+
+.. code-block:: python
+
+ deactivate
+
+|
+|
+
+.. image:: /images/antonio_02_07.jpeg
+ :class: img-fluid rounded mx-auto d-block
+ :align: center
+ :alt: Desactivar ambiente virtual
+
+|
+|
+
+------
+
+Como criar um ambiente virtual com uma versão especifica do Python
+------------------------------------------------------------------
+
+|
+| Embora a maneira de usar seja igual, dentro da pasta ‘Scripts’
+ activamos com ‘activate’, ou desactivamos com o comando ‘deactivate’.
+| Para criar este ambiente com uma versão do Python diferente, precisamos
+ digitar um parâmetro a mais.
+| Vamos começar por criar uma nova pasta, onde vamos criar o novo ambiente virtual.
+| Vamos chamar de py379.
+|
+| Entramos no terminal, e usamos o comando:
+|
+
+.. code-block:: python
+
+ cd
+
+|
+| Até entrarmos dentro da nova pasta, e digitamos:
+|
+
+.. code-block:: python
+
+ virtualenv . --python=3.7.9
+
+|
+| E já temos um ambiente virtual com o Python 3.7.9.
+|
+| 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.
+|
+| Aproveito para recordar que esta versão do Python já tinha sido instalada
+ anteriormente no Windows e está no PATH.
+| Vejam este artigo: |python_windows3|, se têm alguma dúvida.
+|
+|
+
+.. |python_windows3| raw:: html
+
+ Como instalar várias versões Python no Windows 10
+
+.. image:: /images/antonio_02_08.jpeg
+ :class: img-fluid rounded mx-auto d-block
+ :align: center
+ :alt: Escolher a versão do Python
+
+|
+|
+| Vamos digitar alguns comandos para que seja possivel entender mais facilmente
+ como utilizar um ambiente virtual.
+|
+| Podemos continuar no terminal, dentro da pasta do novo ambiente virtual,
+ e digitamos o comando:
+|
+
+.. code-block:: python
+
+ python
+
+|
+| Reparem que o ambiente virtual não está ativado e por isso, o Python
+ é o 3.9.0, a versão principal do Windows.
+|
+|
+
+.. image:: /images/antonio_02_09.jpeg
+ :class: img-fluid rounded mx-auto d-block
+ :align: center
+ :alt: Python 3.9.0
+
+|
+|
+| Continuamos digitando:
+|
+
+.. code-block:: python
+
+ exit()
+
+|
+| Para sair do Python.
+| Dentro da pasta do ambiente virtual py379, para entrarmos na pasta
+ Scripts, usamos:
+|
+
+.. code-block:: python
+
+ cd Scripts
+
+|
+| E depois:
+|
+
+.. code-block:: python
+
+ activate
+
+|
+| Agora que já ativamos o ambiente virtual, digitamos novamente.
+
+.. code-block:: python
+
+ python
+
+|
+| Neste momento estamos a usar o Python 3.7.9.
+|
+|
+
+.. image:: /images/antonio_02_10.jpeg
+ :class: img-fluid rounded mx-auto d-block
+ :align: center
+ :alt: Python 3.7.9
+
+|
+|
+| **Nota importante**
+|
+| Até agora criámos dois ambientes virtuais com Virtualenv,
+ com diferentes versões de Python já instaladas anteriormente.
+| Mas as duas versões que usei neste tutorial, além de já estarem instaladas,
+ também estão no PATH do Windows.
+|
+| 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.
+|
+| Podemos encontrar o caminho de várias maneiras, mas eu costumo usar o explorador do Windows.
+|
+|
+
+.. image:: /images/antonio_02_11.jpeg
+ :class: img-fluid rounded mx-auto d-block
+ :align: center
+ :alt: Python
+
+|
+|
+| 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.
+|
+| Dentro da pasta ‘devenvs’, usamos o comando:
+|
+
+.. code-block:: python
+
+ mkdir venv379
+
+|
+| para criar a pasta ‘venv379’, depois entramos nela com o comando:
+|
+
+.. code-block:: python
+
+ cd venv379
+
+|
+| Dentro da pasta onde vai ser criado o novo ambiente virtual em vez de usarmos
+| ‘virtualenv . –python=3.7.9’, vamos utilizar o comando:
+|
+
+.. code-block:: python
+
+ virtualenv . --python "C:\Program Files\Python37\python.exe"
+
+|
+|
+
+.. image:: /images/antonio_02_12.jpeg
+ :class: img-fluid rounded mx-auto d-block
+ :align: center
+ :alt: Python
+
+|
+|
+
+------
+
+Considerações finais e resumo
+-----------------------------
+
+|
+| 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.
+|
+| Agora é possível instalar e desinstalar com segurança, novas bibliotecas
+ e experimentarmos o que quisermos.
+|
+| Para apagar um ambiente virtual basta apagar a pasta.
+|
+| Como boa prática a primeira coisa que faço sempre, depois de criar um
+ ambiente virtual, é atualizar o ‘pip’ e o ‘setuptools’
+|
+| E nunca esqueçam de ativar o ambiente para ser usado.
+| No caso de mudarem as pastas de lugar lembrem também que é necessário
+ informar os IDEs que utilizam.
+|
+| Autor: |antonio_neves|
+|
+|
+
+.. |antonio_neves| raw:: html
+
+ António Manuel Neves
diff --git a/content/images/antonio_02_01.jpeg b/content/images/antonio_02_01.jpeg
new file mode 100644
index 0000000..3b27013
Binary files /dev/null and b/content/images/antonio_02_01.jpeg differ
diff --git a/content/images/antonio_02_02.jpeg b/content/images/antonio_02_02.jpeg
new file mode 100644
index 0000000..301b038
Binary files /dev/null and b/content/images/antonio_02_02.jpeg differ
diff --git a/content/images/antonio_02_03.jpeg b/content/images/antonio_02_03.jpeg
new file mode 100644
index 0000000..6d1d43e
Binary files /dev/null and b/content/images/antonio_02_03.jpeg differ
diff --git a/content/images/antonio_02_04.jpeg b/content/images/antonio_02_04.jpeg
new file mode 100644
index 0000000..037385f
Binary files /dev/null and b/content/images/antonio_02_04.jpeg differ
diff --git a/content/images/antonio_02_05.jpeg b/content/images/antonio_02_05.jpeg
new file mode 100644
index 0000000..8663393
Binary files /dev/null and b/content/images/antonio_02_05.jpeg differ
diff --git a/content/images/antonio_02_06.jpeg b/content/images/antonio_02_06.jpeg
new file mode 100644
index 0000000..641d358
Binary files /dev/null and b/content/images/antonio_02_06.jpeg differ
diff --git a/content/images/antonio_02_07.jpeg b/content/images/antonio_02_07.jpeg
new file mode 100644
index 0000000..79a4380
Binary files /dev/null and b/content/images/antonio_02_07.jpeg differ
diff --git a/content/images/antonio_02_08.jpeg b/content/images/antonio_02_08.jpeg
new file mode 100644
index 0000000..ddcb99d
Binary files /dev/null and b/content/images/antonio_02_08.jpeg differ
diff --git a/content/images/antonio_02_09.jpeg b/content/images/antonio_02_09.jpeg
new file mode 100644
index 0000000..3b11117
Binary files /dev/null and b/content/images/antonio_02_09.jpeg differ
diff --git a/content/images/antonio_02_10.jpeg b/content/images/antonio_02_10.jpeg
new file mode 100644
index 0000000..542132c
Binary files /dev/null and b/content/images/antonio_02_10.jpeg differ
diff --git a/content/images/antonio_02_11.jpeg b/content/images/antonio_02_11.jpeg
new file mode 100644
index 0000000..74814b8
Binary files /dev/null and b/content/images/antonio_02_11.jpeg differ
diff --git a/content/images/antonio_02_12.jpeg b/content/images/antonio_02_12.jpeg
new file mode 100644
index 0000000..254222c
Binary files /dev/null and b/content/images/antonio_02_12.jpeg differ