entorno descargar crear activate activar python virtualenv virtualenvwrapper

python - descargar - virtualenv django



¿Dónde deberían crearse virtualenvs? (4)

Estoy confundido en cuanto a dónde debo poner mis virtualenvs.

Con mi primer proyecto django, creé el proyecto con el comando "django-admin.py startproject djangoproject".

Luego copié en el directorio djangoproject y ejecuté el comando "virtualenv env", que creó el directorio del entorno virtual en el mismo nivel que el directorio interno "djangoproject".

¿Es este el lugar equivocado para crear el virtualenv para este proyecto en particular?

Me da la impresión de que la mayoría de las personas mantienen todos sus virtualenvs juntos en un directorio completamente diferente, por ejemplo ~ / virtualenvs, y luego usan virtualenvwrapper para alternar entre ellos.

¿Hay una forma correcta de hacer esto?


El lugar generalmente aceptado para ponerlos es el mismo lugar donde la instalación predeterminada de virtualenvwrapper los pone: ~/.virtualenvs

Relacionado: virtualenvwrapper es una excelente herramienta que proporciona shorthands para los comandos virtualenv comunes. virtualenvwrapper


Si usa pyenv install Python , entonces pyenv-virtualenv será una mejor práctica. Si configura el archivo .python-version , puede activar o desactivar automáticamente el entorno virtual cuando cambie la carpeta de trabajo. Pyenv-virtualenv también puso todo el env virtual en la carpeta $HOME/.pyenv/versions .


Cambiar la ubicación del directorio virtualenv lo rompe

Esta es una gran ventaja de colocar el directorio fuera del árbol del repositorio, por ejemplo, bajo ~/.virtualenvs con virutalenvwrapper .

De lo contrario, si lo mantiene en el árbol del proyecto, mover la ubicación del proyecto romperá el virtualenv.

Consulte: Cambiar el nombre de una carpeta virtualenv sin romperla

Hay --relocatable pero se sabe que no es perfecto.

Otra ventaja menor: no es necesario .gitignore .

Si no fuera por eso, dejaría virtualmente a mis virtualenvs en el árbol del proyecto para mantener las cosas relacionadas muy juntas.

Esto está bien ya que probablemente nunca reutilizará un virtualenv dado en todos los proyectos.


Mucha gente usa la herramienta virtualenvwrapper , que mantiene todos los virtualenvs en el mismo lugar (el directorio ~/.virtualenvs ) y permite atajos para crearlos y mantenerlos allí. Por ejemplo, puede hacer:

mkvirtualenv djangoproject

y luego más tarde:

workon djangoproject

Probablemente sea una mala idea mantener el directorio virtualenv en el proyecto en sí, ya que no desea distribuirlo (puede ser específico para su computadora o sistema operativo). En cambio, mantenga un archivo requirements.txt usando pip :

pip freeze > requirements.txt

y distribuir eso. Esto permitirá que otros que usen su proyecto vuelvan a instalar todos los mismos requisitos en sus virtualenv con:

pip install -r requirements.txt