Coursera Learner working on a presentation with Coursera logo and
Coursera Learner working on a presentation with Coursera logo and

Presentación

Las aplicaciones python utilizarán regularmente paquetes y módulos que no vienen como una característica de la biblioteca estándar. Las aplicaciones necesitarán de vez en cuando una adaptación particular de una biblioteca, sobre la base de que la aplicación puede necesitar que se haya corregido un error específico o que la aplicación se componga utilizando una forma desactualizada de la interfaz de la biblioteca.

Esto implica que puede no ser factible que un establecimiento de la pitón cumpla los requisitos previos de cada solicitud. Por si acaso la aplicación A necesita la adaptación 1.0 de un módulo específico, pero la aplicación B necesita la forma 2.0, en ese momento los prerrequisitos están en pugna y la introducción de la forma 1.0 o 2.0 dejará una aplicación incapaz de funcionar.

La respuesta a esta cuestión es hacer un dominio virtual, un árbol de registro independiente que contiene un establecimiento de Python para una forma específica de Python, además de algunos de los paquetes extra.

Las diversas aplicaciones podrían entonces utilizar diversas situaciones virtuales. Para determinar el caso anterior de necesidades contrapuestas, la aplicación A puede tener su propia condición virtual con la variante 1.0 introducida mientras que la aplicación B tiene otra condición virtual con la forma 2.0. En el caso de que la aplicación B requiera que una biblioteca se mueva a la variante 3.0, esto no influirá en la situación de la aplicación A.

12.2. Hacer situaciones virtuales

El módulo utilizado para hacer y supervisar situaciones virtuales se llama venv. venv normalmente introducirá la última variante de Python que tenga accesible. En caso de que tengas varias adaptaciones de Python en tu framework, puedes elegir una forma particular de Python ejecutando python3 o cualquier variante que necesites.

Para hacer un dominio virtual, colóquese en un registro en el que necesite ponerlo, y ejecute el módulo de venv como contenido con el modo de índice:

python3 -m venv tutorial-env

Esto hará que el ejercicio instructivo se convierta en un catálogo en caso de que no exista, y además hará índices dentro de él que contendrán un duplicado del traductor de Python, la biblioteca estándar, y diferentes documentos de apoyo.

Un área típica del catálogo para una situación virtual es .venv. Este nombre mantiene el catálogo normalmente cubierto en su plato y por lo tanto fuera del camino trillado, mientras que le da un nombre que aclara por qué existe el registro. Asimismo, anticipa el conflicto con los registros de definición de variables de condición del .env que algunos respaldos de herramientas.

Cuando hayas hecho una situación virtual, puedes activarla.

En Windows, corre:

Tutorial-environmental-Scripts-activar.bat

En Unix o MacOS, corre:

tutorial de la fuente-env/bin/activar

(Este guión está escrito para la concha del golpe. Si usas el csh o las conchas de pescado, hay scripts alternativos de activate.csh y activate.fish que deberías usar en su lugar).

Iniciar la condición virtual cambiará el informe de su concha para mostrar qué condición virtual está utilizando, y alterará la naturaleza con el objetivo de que al correr la pitón le dará esa forma específica y el establecimiento de la pitón. Por ejemplo:

(tutorial-env) $ pitón

Python 3.5.1 (por defecto, 6 de mayo de 2016, 10:59:36)

  …

>>> sistema de importación

>>> ruta del sistema

[”, ‘/usr/local/lib/python35.zip’, ..,

~/envs/tutorial-env/lib/python3.5/site-packages’]

Manejo de paquetes con pip

Supervisar los paquetes con pip

Puedes introducir, revisar y expulsar paquetes utilizando un programa llamado pip. Por supuesto, pip introducirá paquetes del Archivo de Paquetes de Python, <https://pypi.org>. Puede examinar el Registro de Paquetes Python yendo a él en su navegador de Internet, o puede utilizar el resaltado de caza restringido de pip:

(tutorial-env) $ pip search astronomy

skyfield – Elegante astronomía para Python

gary – Astronomía galáctica y dinámica gravitacional.

novas – La biblioteca de astronomía del Observatorio Naval de los Estados Unidos NOVAS

astroobs – Proporciona efemérides astronómicas para planificar las observaciones con telescopio

Python – Una colección de herramientas relacionadas con la astronomía para Python.

Pip tiene varios subcomandos: “buscar”, “instalar”, “desinstalar”, “congelar”, etc. (Consulte la guía de instalación de módulos Python para una documentación completa de pip).

Puedes instalar la última versión de un paquete especificando el nombre del mismo:

(tutorial-env) $ pip instalar novas

Coleccionando novas

  Descargando novas-3.1.1.3.tar.gz (136kB)

Instalación de paquetes recolectados: novas

  Ejecutando setup.py install para novas

Instaló con éxito las novas-3.1.1.3

También puedes instalar una versión específica de un paquete dando el nombre del paquete seguido de == y el número de versión:

(tutorial-env) $ pip install requests==2.6.0

Recolección de solicitudes==2.6.0

  Usando peticiones cacheadas-2.6.0-py2.py3-none-any.whl

Instalación de los paquetes recolectados: solicitudes

Solicitudes instaladas con éxito-2.6.0

En el caso de que vuelva a ejecutar esta orden, Pip verá que la mencionada variante está introducida a partir de ahora y se sentará ociosa. Puede suministrar un número de adaptación alternativo para obtener esa forma, o puede ejecutar pip introducir – subir para actualizar el paquete a la variante más reciente:

tutorial-env) $ pip install –upgrade requests

Recoger las solicitudes

Instalación de los paquetes recolectados: solicitudes

  Instalación existente encontrada: solicitudes 2.6.0

    Desinstalación de solicitudes-2.6.0:

      Solicitudes desinstaladas con éxito-2.6.0

Solicitudes instaladas con éxito-2.7.0

La desinstalación de pip seguida de uno o más nombres de paquetes eliminará los paquetes del entorno virtual.

pip show mostrará información sobre un paquete en particular:

(tutorial-env) $ pip show requests

Versión de metadatos: 2.0

Nombre: solicitudes

Versión: 2.7.0

Resumen: HTTP de Python para humanos.

Página web: http://python-requests.org

Autor: Kenneth Reitz

Correo electrónico del autor: me@kennethreitz.com

Licencia: Apache 2.0

Ubicación: /Usuarios/akuchling/envs/tutorial-env/lib/python3.4/site-packages

Requiere:

pip list mostrará todos los paquetes instalados en el entorno virtual:

(tutorial-env) $ lista de pip

novas (3.1.1.3)

numpy (1.9.2)

pip (7.0.3)

solicitudes (2.7.0)

herramientas de configuración (16.0)

pip freeze producirá una lista similar de los paquetes instalados, pero la salida utiliza el formato que pip install espera. Una convención común es poner esta lista en un archivo requirements.txt:

(tutorial-env) $ pip freeze > requirements.txt

(tutorial-env) $ requisitos de los gatos.txt

novas==3.1.1.3

numpy==1.9.2

requests==2.7.0

El archivo requirements.txt puede entonces ser comprometido al control de versiones y enviado como parte de una aplicación. Los usuarios pueden entonces instalar todos los paquetes necesarios con install -r:

(tutorial-env) $ pip install -r requirements.txt

Recogiendo novas==3.1.1.3 (de -r requisitos.txt (línea 1))

  …

Recogiendo numpy==1.9.2 (de -r requisitos.txt (línea 2))

  …

Recolección de solicitudes==2.7.0 (de -r requisitos.txt (línea 3))

  …

Instalando paquetes recolectados: novas, numpy, peticiones

  Ejecutando setup.py install para novas

Instaló con éxito novas-3.1.1.3 numpy-1.9.2 solicitudes-2.7.0