development:python:entornos-virtuales

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
development:python:entornos-virtuales [17/11/2023 02:49] – [Python: Entornos virtuales] matedevelopment:python:entornos-virtuales [07/05/2025 03:29] (actual) – [virtualenv] mate
Línia 1: Línia 1:
 = Python: Entornos virtuales = Python: Entornos virtuales
 +  * [[development:python:entornos-virtuales#venv|venv]]
 +  * [[development:python:entornos-virtuales#virtualenv|virtualenv]]
 +  * [[development:python:entornos-virtuales#pyenv|pyenv]]
  
 +Una combinación de **pyenv** (para gestión de versiones de python) y **virtualenv** (para encapsular librerias por proyecto) parace una buena solución
 +
 +== virtualenv
 +<code bash>
 +python3 -m pip install --upgrade pip
 +pip3 install virtualenv
 +
 +which virtualenv
 +virtualenv -p /home/username/opt/python-3.10.1/bin/python3 venv # crea venv
 +
 +pip3 install --upgrade setuptools # si error setuptools pip failed with error code 1` error
 +
 +source venv/bin/activate # activar
 +pip3 install <module> # instalación de módulos
 +deactivate # desactivar
 +rm -rf venv # eliminar
 +</code>
 +/via: [[https://help.dreamhost.com/hc/es/articles/115000695551-Instalar-y-usar-virtualenv-con-Python-3]]
 +
 +<code bash>
 +pip install virtualenv
 +
 +# navegar a directorio y crear con:
 +python -m venv <environment_name>
 +# alternativamente
 +virtualenv -p /home/username/opt/python-3.10.1/bin/python3 <environment_name>
 +
 +# activar
 +source <environment_name>/bin/activate
 +
 +# desactivar
 +deactivate
 +</code>
 +== venv
 +  * [[https://docs.python.org/es/3/tutorial/venv.html]]
 +
 +=== creación
 +<code bash>python -m venv tutorial-env</code>
 +  * crea una carpeta con la versión de python disponible
 +
 +=== activación
 +  * windows: <code powershell>tutorial-env\Scripts\activate</code>
 +    * gestión versiones en windows con comando ''py'' ?
 +  * linux: <code bash>source tutorial-env/bin/activate</code>
 +
 +=== desactivación
 +<code bash>deactivate</code>
  
 == pyenv == pyenv
Línia 8: Línia 58:
 export PATH="$HOME/.pyenv/bin:$PATH" export PATH="$HOME/.pyenv/bin:$PATH"
 eval "$(pyenv init --path)" eval "$(pyenv init --path)"
-eval "$(pyenv virtualenv-init -)"</code>+eval "$(pyenv virtualenv-init -)"</code><code bash>export PYENV_ROOT="$HOME/.pyenv" 
 +command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH" 
 +eval "$(pyenv init -)" 
 +</code>
   * verificar instalación:<code bash>pyenv --version</code>   * verificar instalación:<code bash>pyenv --version</code>
 === uso === uso
Línia 14: Línia 67:
     * versiones 3.6.* y 3.7.* en este caso     * versiones 3.6.* y 3.7.* en este caso
   * instalar una versión en concreto: <code bash>pyenv install -v 3.6.0</code>   * instalar una versión en concreto: <code bash>pyenv install -v 3.6.0</code>
 +    * paquetes para asegurarse una instalación y compilación correctas: <code bash>sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
 +libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
 +libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl</code>
   * versiones instaladas:<code bash>pyenv versions</code>   * versiones instaladas:<code bash>pyenv versions</code>
 +    * <code bash>ls ~/.pyenv/versions/</code>
   * establecer versión del sistema:<code bash>pyenv global 3.9.9</code>   * establecer versión del sistema:<code bash>pyenv global 3.9.9</code>
   * establecer versión en un directorio concreto:<code bash>pyenv local 3.9.9</code>   * establecer versión en un directorio concreto:<code bash>pyenv local 3.9.9</code>
 +  * desinstalar: <code bash>pyenv uninstall 2.7.9</code>
 +  * ejecutar shell de alguna versión instalada:<code bash>pyenv shell 2.7.9</code>
 === entornos virtuales === entornos virtuales
   * inicializar entorno virtual:<code bash>pyenv virtualenv 3.9.9 ecomerce</code>   * inicializar entorno virtual:<code bash>pyenv virtualenv 3.9.9 ecomerce</code>
Línia 29: Línia 88:
   * [[https://www.slayerx.org/2020/05/27/pyenv-para-tener-distintas-versiones-de-python/]]   * [[https://www.slayerx.org/2020/05/27/pyenv-para-tener-distintas-versiones-de-python/]]
  
-== venv 
-  * Use ''venv'' for virtual environment management 
  • development/python/entornos-virtuales.1700218154.txt.gz
  • Darrera modificació: 17/11/2023 02:49
  • per mate