¿Cómo usar virtualenv para crear un entorno virtual Python?

1. ¿Qué es un entorno virtual?

El significado de un entorno virtual es como una máquina virtual: puede darse cuenta de que los paquetes dependientes de Python en diferentes entornos son independientes entre sí sin interferencias.

Dar un ejemplo.

Supongamos que hay dos proyectos en nuestra computadora, y ambos usan el mismo paquete de terceros, todo va bien. Pero por alguna razón, el Proyecto B necesita usar algunas características nuevas de este paquete de terceros por algunas razones (la nueva versión solo lo tiene), y si se actualiza apresuradamente de esta manera, no podemos evaluar el impacto en el Proyecto A. En este momento, lo haremos Existe una necesidad especial de una solución que permita que los proyectos A y B estén en dos entornos Python diferentes. No se afecten entre sí.

Para facilitar la comprensión de todos del entorno virtual, enumeré las siguientes ventajas:

  • Haga que los diferentes entornos de desarrollo de aplicaciones sean independientes
  • La actualización del entorno no afecta a otras aplicaciones ni al entorno global de Python
  • Puede evitar la confusión en la administración de paquetes y los conflictos de versiones en el sistema.

Hay muchas herramientas para administrar la versión y el entorno de Python en el mercado, aquí hay algunas:

  • p: Herramienta de gestión de versiones de Python interactiva muy sencilla.
  • pyenv: Herramienta de administración de versiones de Python simple.
  • Vex: Puede ejecutar comandos en un entorno virtual.
  • virtualenv: Una herramienta para crear un entorno Python independiente.
  • virtualenvwrapper: Un conjunto de extensiones de virtualenv.

Hay muchas herramientas, pero personalmente creo que la mejor es virtualenvwrappery recomiendo a todos que la utilicen.

2. virtualenv

Dado que virtualenvwrapper es un conjunto de extensiones de virtualenv, si desea utilizar virtualenvwrapper, primero debe instalar virtualenv.

instalación

$ pip install virtualenv

# 检查版本
$ virtualenv --version

Uso básico

Porque virtualenv crea un entorno virtual en el entorno actual. Entonces tenemos que preparar un directorio dedicado a almacenar el entorno virtual. (Las siguientes operaciones se están completando en Linux, Windows es relativamente simple, por favor complete usted mismo, si no lo entiende, comuníquese conmigo en WeChat).

crear

# 准备目录并进入
$ mkdir -p /home/wangbm/Envs
$ cd !$

# 创建虚拟环境(按默认的Python版本)
# 执行完,当前目录下会有一个my_env01的目录
$ virtualenv my_env01

# 你也可以指定版本
$ virtualenv -p /usr/bin/python2.7 my_env01
$ virtualenv -p /usr/bin/python3.6 my_env02

# 你肯定觉得每次都要指定版本,相当麻烦吧?
# 在Linux下,你可以把这个选项写进入环境变量中
$ echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7" >> ~/.bashrc

Entrada salida

$ cd /home/wangbm/Envs

# 进入
$ source my_env01/bin/activate

# 退出
$ deactivate

Eliminar Para eliminar un entorno virtual, simplemente elimine la carpeta correspondiente. No afectará a Python global ni a otros entornos.

$ cd /home/wangbm/Envs
$ rm -rf my_env01

Nota: El entorno virtual creado no contendrá paquetes de terceros del entorno global nativo, lo que garantizará la limpieza del entorno virtual recién creado.

Si necesita utilizar el mismo paquete de terceros que el entorno global. Se pueden utilizar los siguientes métodos:

# 导出依赖包
$ pip freeze > requirements.txt

# 安装依赖包
$ pip install -r requirements.txt 

3. virtualenvwrapper

Aunque virtualenv es bastante fácil de usar, sus funciones aún no son perfectas.

Es posible que también haya descubierto que para ingresar al entorno virtual, debe tener en cuenta el directorio del entorno virtual configurado anteriormente.Si sigue las reglas en todo momento, estará bien instalar el entorno en un directorio fijo. Pero en muchos casos, la gente es vaga. Puede haber muchos entornos virtuales esparcidos por el sistema y es posible que olvide sus nombres o ubicaciones.

Otro punto es que virtualenv requiere dos pasos para cambiar el entorno, salir -> entrar. No es lo suficientemente fácil.

Para resolver estos dos problemas, nació virtualenvwrapper.

instalación

# 安装 - Linux
pip install virtualenvwrapper

# 安装 - Windows
pip install virtualenvwrapper-win

Configuración Primero busque virtualenvwrapper.shla ubicación del archivo

find / -name virtualenvwrapper.sh
# /usr/bin/virtualenvwrapper.sh

Si es Windows, use todo para encontrar el script virtualenvwrapper.bat

D:\Program Files (x86)\Python38-32\Scripts\virtualenvwrapper.bat

Agregue la configuración en el archivo ~ / .bashrc

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace
export VIRTUALENVWRAPPER_SCRIPT=/usr/bin/virtualenvwrapper.sh
source /usr/bin/virtualenvwrapper.sh

Si es Windows, agregue variables de entorno:WORKON_HOME

Sintaxis básica :

mkvirtualenv [-a ruta_proyecto] [-i paquete] [-r archivo_requisitos] [opciones virtualenv] ENVNAME

Método común

# 创建
$ mkvirtualenv my_env01

# 进入
$ workon my_env01

# 退出
$ deactivate

# 列出所有的虚拟环境,两种方法
$ workon
$ lsvirtualenv

# 在虚拟环境内直接切换到其他环境
$ workon my_env02

# 删除虚拟环境
$ rmvirtualenv my_env01

Otros comandos

# 列出帮助文档
$ virtualenvwrapper

# 拷贝虚拟环境
$ cpvirtualenv ENVNAME [TARGETENVNAME]

# 在所有的虚拟环境上执行命令
$ allvirtualenv pip install -U pip

# 删除当前环境的所有第三方包
$ wipeenv

# 进入到当前虚拟环境的目录
$ cdsitepackages

# 进入到当前虚拟环境的site-packages目录
$ cdvirtualenv

# 显示 site-packages 目录中的内容
$ lssitepackages

Para obtener más información, consulte el documento oficial https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html

4. Demostración práctica

El contenido anterior es una guía de usuario. A continuación, echemos un vistazo a cómo utilizar el entorno virtual en el proyecto.

Cómo utilizar nuestro entorno virtual en nuestro desarrollo

Usualmente usamos los siguientes escenarios

  • Interactivo
  • PyCharm
  • En proyecto

A continuación, los mostraré uno por uno.

4.1 Interactivo

Primero, compare la diferencia entre el entorno global y el entorno virtual Hay paquetes de solicitudes en el entorno global pero no instalados en el entorno virtual. Cuando llamamos workon my_env01, delante del my_env01logo, que ya estamos en un entorno virtual. Todas las operaciones posteriores se realizarán en un entorno virtual.

4.2 En el proyecto

Nuestro proyecto de ingeniería tiene un archivo de entrada, observe con atención, el intérprete de Python se puede especificar en la primera línea.

Si queremos ejecutar este proyecto en un entorno virtual, simplemente cambiemos el encabezado del archivo.

Ahora sigo usando, import requestscomo ejemplo, para ilustrar si se está ejecutando en un entorno virtual, si es igual que el anterior, se reportará un error.

contenido del documento:

#!/root/.virtualenvs/my_env01/bin/python

import requests
print "ok"

Antes de ejecutar, preste atención a agregar permisos de ejecución.

$ chmod +x ming.py

Todo bien. Vamos a ejecutar

$ ./ming.py

Se encontró que era como se esperaba y que estaba realmente mal. Muestra que el entorno virtual que especificamos es efectivo.

4.3 PyCharm

Haga clic en Archivo-Configuración-Proyecto-Intérprete y haga clic en el engranaje pequeño. Haga clic para agregar como se muestra en la figura y agregue un entorno virtual como se le solicite. Luego, haga clic en Aceptar para usar este entorno virtual y todos los proyectos posteriores se ejecutarán en este entorno virtual.

Supongo que te gusta

Origin blog.csdn.net/weixin_36338224/article/details/109356708
Recomendado
Clasificación