Soy un programador de ruby tratando de aprender Python. Soy bastante familiar con pyenv ya que es como copiar y pegar desde rbenv. Pyenv ayuda a permitir tener más de una versión de Python en un sistema y también a aislar Python sin tocar la parte sensible del sistema.
Supongo que cada instalación de Python viene con paquete pip. Lo que todavía no entiendo es que hay muchas buenas bibliotecas de Python que sugieren usar este virtualenv y anaconda. Incluso puedo encontrar el plugin virtualenv para pyenv.
Ahora me estoy confundiendo con el propósito de estos dos pyenv y virtualenv. peor dentro de pyenv hay un plugin virtualenv.
mis preguntas son:
- ¿Cuál es la diferencia entre pyenv y virtualenv?
- ¿Hay alguna diferencia en el uso del comando pip dentro de pyenv y virtualenv?
- ¿Qué hace este pyenv virutalenv?
Su explicación con el ejemplo será muy apreciada.
Respuestas:
Editar: Vale la pena mencionar
pip
aquí también,conda
ypip
tiene similitudes y diferencias que son relevantes para este tema .pip: el Administrador de paquetes de Python.
pip
como el equivalente en Python delgem
comando rubypip
no está incluido con python por defecto.brew install python
sudo easy_install pip
gemfile
pip freeze > requirements.txt
pyenv: Administrador de versiones de Python
pyenv
permite administrar esto fácilmente.virtualenv: Python Environment Manager.
virtualenv
, simplemente invoquevirtualenv ENV
, dondeENV
es un directorio para colocar el nuevo entorno virtual.virtualenv
, debes hacerlosource ENV/bin/activate
. Para dejar de usar, simplemente llamedeactivate
.virtualenv
, puede instalar todos los requisitos del paquete de un espacio de trabajo ejecutándosepip install -r
contra elrequirements.txt
archivo del proyecto .Anaconda: Package Manager + Environment Manager + Bibliotecas científicas adicionales.
conda install <packagename>
miniconda
versión reducida , que parece ser una opción más simple que usarpip
+virtualenv
, aunque no tengo experiencia en usarlo personalmente.conda
permite instalar paquetes, estos paquetes están separados de los paquetes PyPI, por lo que es posible que aún necesite usar pip adicionalmente dependiendo de los tipos de paquetes que necesite instalar.Ver también:
fuente
Analogía simple:
Como uso python3, prefiero el entorno virtual incorporado en python3 llamado venv .venv es simple y fácil de usar. Te recomendaría que leas sus documentos oficiales. El documento es corto y conciso.
En ruby, realmente no necesitamos un entorno virtual porque el paquete lo cuida. Tanto el entorno virtual como el bundler son geniales, pero tienen un concepto diferente pero intentan resolver el mismo problema.
fuente