<?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: Nahum Trinidad</title>
    <description>The latest articles on DEV Community by Nahum Trinidad (@nahum_trinidad).</description>
    <link>https://dev.to/nahum_trinidad</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%2F295932%2F10d16645-509e-4eb8-891c-d16dc59d7c85.jpeg</url>
      <title>DEV Community: Nahum Trinidad</title>
      <link>https://dev.to/nahum_trinidad</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nahum_trinidad"/>
    <language>en</language>
    <item>
      <title>Cómo instalar y crear un entorno virtual con pyenv en ubuntu 22.04 LTS</title>
      <dc:creator>Nahum Trinidad</dc:creator>
      <pubDate>Fri, 08 Jul 2022 19:33:19 +0000</pubDate>
      <link>https://dev.to/nahum_trinidad/como-instalar-y-crear-un-entorno-virtual-con-pyenv-en-ubuntu-2204-lts-3499</link>
      <guid>https://dev.to/nahum_trinidad/como-instalar-y-crear-un-entorno-virtual-con-pyenv-en-ubuntu-2204-lts-3499</guid>
      <description>&lt;p&gt;Pyenv es una herramienta que nos facilita utilizar distintas versiones de paython.&lt;/p&gt;

&lt;p&gt;En este post crearemos, activaremos y desactivaremos entornos virtuales con pyenv.&lt;/p&gt;

&lt;p&gt;Utilizaré el intérprete de comandos (shell) &lt;a href="https://github.com/ohmyzsh/ohmyzsh" rel="noopener noreferrer"&gt;zsh&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Desinstalar pyenv
&lt;/h2&gt;

&lt;p&gt;1.- Antes de empezar voy a desinstalar porque ya vengo utilizando pyenv. &lt;/p&gt;

&lt;p&gt;Abrimos &lt;code&gt;.zshrc&lt;/code&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

vim ~/.zshrc


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Luego eliminamos las siguientes líneas:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

# pyenv
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv &amp;gt;/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
export PYENV_VIRTUALENV_DISABLE_PROMPT=1
"~/.zshrc" 128L, 4564B 


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;y guardamos los cambios&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

:wq



&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;2.- Eliminar la carpeta  &lt;code&gt;.pyenv&lt;/code&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

rm -rf ~/.pyenv


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Listo!, ahora toca instalar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Instalar pyenv
&lt;/h2&gt;

&lt;p&gt;Hay varias maneras de instalar, pero voy a utilizar el script que recomiendan en la documentación de &lt;a href="https://github.com/pyenv/pyenv-installer" rel="noopener noreferrer"&gt;pyenv installer&lt;/a&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | zsh


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuopimeps5v0ypomtotkt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuopimeps5v0ypomtotkt.png" alt="Instalacion de pyenv"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Después de instalar nos indica que debemos agregar algunas lineas en &lt;code&gt;.zshrc&lt;/code&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

// vim ~/.zshrc

export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv &amp;gt;/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"



&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;code&gt;pyenv -v&lt;/code&gt; no existe todavía porque falta actualizar &lt;code&gt;zsh&lt;/code&gt;, asi que ejecutamos el siguiente comando.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

source ~/.zshrc 


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Resultado!&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkjzgkvr8wch6gynhl2ze.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkjzgkvr8wch6gynhl2ze.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Crear entornos virtuales
&lt;/h2&gt;

&lt;p&gt;Crear entorno virtual &lt;strong&gt;company&lt;/strong&gt; con python 3.8.2&lt;/p&gt;

&lt;p&gt;Instalamos la versión de python 3.8.2&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

pyenv install 3.8.2


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Creamos el entorno virtual &lt;strong&gt;company&lt;/strong&gt; con python 3.8.2&lt;br&gt;
&lt;code&gt;pyenv virtualenv [python_version] [virtualenv_name]&lt;/code&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

pyenv virtualenv 3.8.2 company



&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Activamos el entorno virtual &lt;strong&gt;company&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

pyenv activate company


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Desactivamos el entorno virtual &lt;strong&gt;company&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

pyenv deactivate


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjwmjqjtk7rpqk7fbnet.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjwmjqjtk7rpqk7fbnet.png" alt="virtualenv with pyenv"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

source ~/.zshrc 


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Si queremos un entorno virtual con python 2.7.18 seguimos los mismo pasos.&lt;/p&gt;

&lt;p&gt;Listo! 🚀&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>python</category>
      <category>spanish</category>
    </item>
    <item>
      <title>Cómo crear una base de datos postgres y luego asignarle a un usuario.</title>
      <dc:creator>Nahum Trinidad</dc:creator>
      <pubDate>Fri, 08 Jul 2022 05:26:45 +0000</pubDate>
      <link>https://dev.to/nahum_trinidad/como-crear-una-base-de-datos-postgres-y-luego-asignarle-a-un-usuario-315g</link>
      <guid>https://dev.to/nahum_trinidad/como-crear-una-base-de-datos-postgres-y-luego-asignarle-a-un-usuario-315g</guid>
      <description>&lt;p&gt;Despues de &lt;a href="https://medium.com/crehana/creaci%C3%B3n-de-usuario-en-postgresql-10-4-y-ubuntu-18-04-9e80fe077f7e" rel="noopener noreferrer"&gt;crear el usuario company&lt;/a&gt;, vamos a continuar con la creación de la base de datos.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;role/usuario -&amp;gt; company&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;database -&amp;gt; company_db&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Creamos la base de datos llamado &lt;strong&gt;company_db&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Abrimos el terminal con &lt;strong&gt;Ctrl + Alt + T&lt;/strong&gt; y nos conectamos con el usuario postgres, si desean  pueden ingresar con el  usuario company. Yo lo hago con la intención de mostrarles cómo cambiar de propietario a una base de datos.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo -i -u postgres
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Luego ejecutamos &lt;strong&gt;psql&lt;/strong&gt; para ingresar a la consola de postgres y digitamos &lt;strong&gt;\l&lt;/strong&gt; para ver las bases de datos que tenemos.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;psql
postgres=# \l

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Seguidamente creamos nuestra base de datos &lt;strong&gt;company_db&lt;/strong&gt; con el siguiente comando.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE DATABASE company_db;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flh723ngawdhcmvsm6fn6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flh723ngawdhcmvsm6fn6.png" alt="databases"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Como podemos ver ya tenemos la nueva base de datos, propietario  del usuario postgres y sin ningún privilegio.&lt;/p&gt;

&lt;p&gt;Ahora cambiaremos de propietario y le otorgaremos todos los privilegios de la base de datos &lt;strong&gt;company_db&lt;/strong&gt; al usuario &lt;strong&gt;company&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; ALTER DATABASE company_db OWNER TO company;
 GRANT ALL PRIVILEGES ON DATABASE company_db TO company;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5i1p7plx45o6ghci42wh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5i1p7plx45o6ghci42wh.png" alt="database with owner"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para finalizar salimos de la consola postgres con el comando &lt;code&gt;exit&lt;/code&gt; e ingresamos a la base de datos &lt;code&gt;company_db&lt;/code&gt; con el usuario &lt;code&gt;company&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;psql company_db company;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT current_database();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT current_user;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F60r4qxesnkqhx6vij7ik.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F60r4qxesnkqhx6vij7ik.png" alt="Resultado de base de datos"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Listo! 🚀&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
