Soy un programador ruby tratando de aprender python. Estoy bastante de la familia con pyenv ya que es como un copiar y pegar de rbenv tendremos. Pyenv ayuda a permitir tener más de una versión de python en un sistema y también para aislar el python sin tocar la parte sensible del sistema.

Supongo que cada instalación de python viene con el pip paquete. Lo que todavía no entiendo es, hay muchas buenas python libs por ahí que sugieren el uso de este virtualenv y anaconda. Incluso puedo encontrar virtualenv plugin para pyenv.

Ahora estoy confundirse con el propósito de que estos dos pyenv y virtualenv.
peor dentro de pyenv hay un virtualenv plugin.

mis preguntas son:

  • ¿cuál es la diferencia entre pyenv y virtualenv?
  • Hay alguna diferencia en el uso de pip de comandos dentro de los pyenv y virtualenv?
  • lo que hace este pyenv virutalenv hacer?

su explicación con ejemplo será muy apreciada.

InformationsquelleAutor channa ly | 2016-07-06

1 Comentario

  1. 104

    Edit: vale la pena mencionar pip aquí también, como conda y pip tienen similitudes y diferencias que son relevantes para este tema.

    pip: el Paquete de Python Manager.

    • Se podría pensar de pip como el python equivalente a la de ruby gem comando
    • pip no está incluido con python por defecto.
    • Puede instalar Python usando homebrew, que se instalar pip automáticamente: brew install python
    • La última versión de OSX no incluyen pip de forma predeterminada. Para agregar pip a su sistema mac la versión de python, puede sudo easy_install pip
    • Usted puede encontrar y publicar paquetes de python usando PyPI: El Índice De Paquetes De Python
    • La requirements.txt archivo es comparable a la de ruby gemfile
    • Para crear un archivo de texto, pip freeze > requirements.txt
    • Nota, en este punto, hemos de python instalado en nuestro sistema, y hemos creado un requirements.txt archivo que describe todos los paquetes de python que se han instalado en su sistema.

    pyenv: la Versión de Python Administrador de

    • A partir de la documentación: pyenv le permite cambiar fácilmente entre varias versiones de Python. Es muy sencillo, discreto, y sigue la tradición UNIX de propósito único de herramientas que hacer una cosa así. Este proyecto se bifurcó de rbenv tendremos y ruby-build, y modificado para Python.
    • Muchas personas dude en utilizar python3.
    • Si necesita utilizar diferentes versiones de python, pyenv le permite administrar fácilmente.

    virtualenv: Python Gestor de medio Ambiente.

    • A partir de la documentación: El problema básico que se aborda una de las dependencias y versiones, e indirectamente de los permisos. Imagina que tienes una aplicación que necesita la versión 1 de LibFoo, pero otra aplicación requiere la versión 2. ¿Cómo puede usted utilizar ambas aplicaciones? Si instala todo en /usr/lib/python2.7/sitio-paquetes (o lo que sea de su plataforma estándar ubicación es), es fácil acabar en una situación en la que sin querer actualizar una aplicación que no debería ser actualizado.
    • Para crear un virtualenv, simplemente invocar virtualenv ENV, donde ENV es es un directorio para colocar el nuevo entorno virtual.
    • Para inicializar el virtualenv, usted necesita para source ENV/bin/activate. Para dejar de utilizar, simplemente llame a deactivate.
    • Una vez que se activa el virtualenv, puede instalar todo de un área de trabajo del paquete de requisitos mediante la ejecución de pip install -r contra el proyecto del requirements.txt archivo.

    Anaconda: Gestor De Paquetes + Gestor De Medio Ambiente + Adicional De Las Bibliotecas Científicas.

    • A partir de la documentación: Anaconda 4.2.0 incluye una fácil instalación de Python (2.7.12, 3.4.5, y/o 3.5.2) y las actualizaciones de más de 100 pre-construido y probado científica y analítica de los paquetes de Python que incluyen NumPy, Pandas, SciPy, Matplotlib, y IPython, con más de 620 paquetes más disponible a través de una simple conda install <packagename>
    • Como desarrollador web, no he utilizado Anaconda. Es ~3GB incluyendo todos los paquetes.
    • Hay un adelgazado miniconda versión, que parece que podría ser una simple opción de utilizar pip + virtualenv, aunque no tengo experiencia en el uso personalmente.
    • Mientras conda permite instalar paquetes, estos paquetes son independientes de PyPI paquetes, por lo que aún puede ser necesario el uso de pip, además, dependiendo de los tipos de paquetes que se deben instalar.

    Ver también:

    • Esto probablemente podría utilizar una actualización ahora, c.f. stackoverflow.com/a/49084152/14420
    • Este podría ser actualizado para incluir a pipenv, ya que actualmente parece ser la recomendada oficialmente Python embalaje herramienta de Python.org ?
    • ¿Cuál es el problema con la instalación de un mero valor de 3 gb de bibliotecas? Usted no quiere a implementar todas las bibliotecas, pero sólo porque usted tiene valor de 3 gb de bibliotecas instaladas no significa que usted necesita para implementar todo esto. Y que una pequeña cantidad de espacio en el disco duro en estos días. Yo actualmente uso una instalación anaconda y que puedo administrar mi entornos con venv, pero yo estaba considerando la posibilidad de utilizar conda para mi entornos virtuales demasiado (creo que no lo haré – venv parece un flujo de trabajo más suave para mí).

Dejar respuesta

Please enter your comment!
Please enter your name here