<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Johnnes Cruz</title>
    <description>The latest articles on DEV Community by Johnnes Cruz (@johnnessantos).</description>
    <link>https://dev.to/johnnessantos</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F391363%2Fbf71b946-4b10-4df9-afbd-d4c7bdaf727d.jpeg</url>
      <title>DEV Community: Johnnes Cruz</title>
      <link>https://dev.to/johnnessantos</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/johnnessantos"/>
    <language>en</language>
    <item>
      <title>Pyenv: Como gerenciar múltiplas versões Python</title>
      <dc:creator>Johnnes Cruz</dc:creator>
      <pubDate>Sat, 10 Jun 2023 17:43:11 +0000</pubDate>
      <link>https://dev.to/johnnessantos/pyenv-como-gerenciar-multiplas-versoes-python-288f</link>
      <guid>https://dev.to/johnnessantos/pyenv-como-gerenciar-multiplas-versoes-python-288f</guid>
      <description>&lt;h2&gt;
  
  
  Introdução
&lt;/h2&gt;

&lt;p&gt;Gerenciar múltiplas versões de uma linguagem de programação é uma atividade bastante comum principalmente quando estamos trabalhando em times com diversas aplicações ou em empresas que possui diversos sistemas, por sorte, existem ferramentas que facilitam esse trabalho, nesta postagem vou apresentar o Pyenv que utilizo no dia a dia para programar em Python.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pyenv
&lt;/h2&gt;

&lt;p&gt;O pyenv é uma ferramenta simples para gerenciar versões e ambientes virtuais da linguagem. Um ambiente virtual python é um mecanismo de isolamento de instalação de pacotes/bibliotecas com ele você consegue distinguir dependências utilizadas em projetos.&lt;/p&gt;

&lt;p&gt;Após instalar a ferramenta abaixo alguns comandos úteis: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;help&lt;/strong&gt;: Demostra todos os comandos disponíveis e um resumo do que fazem;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;install&lt;/strong&gt;: Instalar versões python disponíveis;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;install --list&lt;/strong&gt;: Listar as versões disponíveis para instalação;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;versions&lt;/strong&gt;: Lista todas versões python existentes na sua máquina;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;virtualenv&lt;/strong&gt;: Comando para criação de ambiente virtual;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;virtualenv-delete&lt;/strong&gt;: Deletar ambiente virtual;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;activate&lt;/strong&gt;: Selecionar e ativar ambiente virtual;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;global&lt;/strong&gt;: Definir versão global python da sua máquina;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;local&lt;/strong&gt;: Definir versão local python (Útil quando quer setar em um projeto algum ambiente virtual especifico);&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;update&lt;/strong&gt;: Atualiza a ferramenta incluído possíveis novas versões disponíveis do python. &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Exemplo: Instalando a versão python 3.11
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://gist.github.com/luzfcb/ef29561ff81e81e348ab7d6824e14404"&gt;Tutorial de como instalar pyenv no ubuntu&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Comandos&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pyenv &lt;span class="nb"&gt;install &lt;/span&gt;3.11.0 &lt;span class="c"&gt;# instalar&lt;/span&gt;
pyenv versions &lt;span class="c"&gt;# verificar instalação&lt;/span&gt;
pyenv virtualenv 3.11.0 demo-311 &lt;span class="c"&gt;# criar ambiente virtual&lt;/span&gt;
pyenv activate demo-311 &lt;span class="c"&gt;# ativar ambiente virtual&lt;/span&gt;
pyenv virtualenv-delete demo-311 &lt;span class="c"&gt;# deletar ambiente virtual&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Saída&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;pyenv &lt;span class="nb"&gt;install &lt;/span&gt;3.11.0
Downloading Python-3.11.0.tar.xz...
-&amp;gt; https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tar.xz
Installing Python-3.11.0...
Installed Python-3.11.0 to /home/&amp;lt;user&amp;gt;/.pyenv/versions/3.11.0

&lt;span class="nv"&gt;$ &lt;/span&gt;pyenv versions
&lt;span class="k"&gt;*&lt;/span&gt; system &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;set &lt;/span&gt;by /home/&amp;lt;user&amp;gt;/.pyenv/version&lt;span class="o"&gt;)&lt;/span&gt;
  3.11.0

&lt;span class="nv"&gt;$ &lt;/span&gt;pyenv virtualenv 3.11.0 demo-311

&lt;span class="nv"&gt;$ &lt;/span&gt;pyenv versions
&lt;span class="k"&gt;*&lt;/span&gt; system &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;set &lt;/span&gt;by /home/&amp;lt;user&amp;gt;/.pyenv/version&lt;span class="o"&gt;)&lt;/span&gt;
  3.11.0
  3.11.0/envs/demo-311
  demo-311 &lt;span class="nt"&gt;--&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; /home/&amp;lt;user&amp;gt;/.pyenv/versions/3.11.0/envs/demo-311

&lt;span class="nv"&gt;$ &lt;/span&gt;pyenv activate demo-311
&lt;span class="o"&gt;(&lt;/span&gt;demo-311&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="err"&gt;$&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Após o ambiente ativo pode-se instalar as bibliotecas que estará isolada no &lt;strong&gt;&lt;em&gt;python 3.11&lt;/em&gt;&lt;/strong&gt; com ambiente virtual &lt;strong&gt;&lt;em&gt;demo-311&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Referências
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/pyenv/pyenv"&gt;https://github.com/pyenv/pyenv&lt;/a&gt;&lt;br&gt;
&lt;a href="https://docs.python.org/pt-br/3/library/venv.html"&gt;https://docs.python.org/pt-br/3/library/venv.html&lt;/a&gt;&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>python</category>
    </item>
  </channel>
</rss>
