¿Cómo puedo obtener una lista de todos los entornos virtuales creados con Venv?

Jacques Gaudin:

Alguien me acaba de preguntar cómo enumerar todos los entornos virtuales creados con venv.

Sólo podía pensar en la búsqueda de pyvenv.cfgarchivos para encontrarlos. Algo como:

from pathlib import Path

venv_list = [str(p.parent) for p in Path.home().rglob('pyvenv.cfg')]

Esto podría incluir potencialmente algunos falsos positivos. ¿Hay una mejor manera de enumerar todo el entorno virtual creado con venv?

NB: la pregunta es sobre venvconcretamente, NO Anaconda, virtualenv, etc.

JL Peyret:

En Linux / macOS esto debe obtener la mayor parte de ella

find ~ -d -name "site-packages" 2>/dev/null

Buscando directorios debajo de su casa que se denominan "site-packages", que es donde venvpone sus cosas pip-instalado. los cortes / dev / null mordió el chattiness de cosas que no tienen permiso para estudiar.

O se puede ver en los detalles de un archivo esperado en particular. Por ejemplo, activatetiene nondestructivecomo contenido. Luego hay que buscar un patrón de coincidencias Venv pero no anaconda y el resto.

find ~ -type f -name "activate" -exec egrep -l nondestructive /dev/null {} \; 2>/dev/null

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=364895&siteId=1
Recomendado
Clasificación