Список всех virtualenv
В virtualenvwrapper есть простой способ перечислить все virtualenv на моей машине?
(например, что делает yolk -l для вывода списка всех пакетов python в текущей виртуальной среде?)
ПОЯСНЕНИЕ: "ls -la" в моем каталоге env не считается. Я ищу команду virtualenv или virtualenvwrapper.
14 ответов
Глупый вопрос. Найдено, что есть
lsvirtualenv
команда, которая перечисляет все существующие virtualenv.
Вы можете использовать lsvirtualenv
, в котором у вас есть два варианта "длинный" или "короткий":
Параметр "long" является параметром по умолчанию, он ищет любой хук, который может иметься вокруг этой команды, и выполняет его, что занимает больше времени.
"кратко" просто возьмите имена virtualenvs и напечатайте их.
краткое использование:
$ lsvirtualenv -b
длительное использование:
$ lsvirtualenv -l
если у вас нет хуков, или вы даже не знаете, о чем я говорю, просто используйте "краткое".
Чтобы вывести список всех виртуальных сред (если используется дистрибутив anaconda):
conda info --envs
Надеюсь, мой ответ поможет кому-то...
Если вы используете virtualenv
или Python 3 встроенный venv
приведенные выше ответы могут не работать.
Если вы используете Linux, просто locate
в activate
скрипт, который всегда присутствует внутри env.
locate -b '\activate' | grep "/home"
Это захватит все виртуальные среды Python, присутствующие в вашем домашнем каталоге.
Запустите workon без аргументов, чтобы отобразить список доступных сред.
Для созданного conda env используйте:
conda info --envs or conda info -e or conda env list
Для созданного virtualenvwrapper env используйте:
lsvirtualenv
Если вы пришли сюда из Google, пытаясь найти, где закончилась ваша ранее созданная установка virtualenv, и почему нет команды для ее поиска, вот краткое описание.
Дизайн
virtualenv
имеет фундаментальный недостаток, заключающийся в невозможности отслеживать собственные созданные среды. Кто-то был не в своем уме, когда создавал
virtualenv
не имея элементарного способа отслеживания уже созданных сред, и, конечно, не подходит для того времени и возраста, когда большинство требований к pip требуют установки с несколькими гигабайтами, что, конечно, не должно входить в некоторые неясные
.virtualenvs
подкаталог вашего ~ / home.
IMO, созданный каталог virtualenv должен быть создан в
$CWD
и файл с именем
~/.virtualenv
(дома) должен отслеживать имя и путь этого творения. Это чертовски хорошая причина использовать вместо этого Conda/Miniconda3, который, похоже, хорошо отслеживает это.
Как здесь было сказано, единственный способ отслеживать это - установить еще один пакет под названием virtualenvwrapper
. Если вы этого не сделаете, вам придется искать созданный каталог самостоятельно. Ясно, что если вы не помните имя или место, где оно было создано с / в, вы, скорее всего, никогда больше не найдете свою виртуальную среду...
Одна из попыток исправить ситуацию в Windows - это добавить следующие функции в ваш профиль PowerShell:
# wrap virtualenv.exe and write last argument (presumably
# your virtualenv name) to the file: $HOME/.virtualenv.
function ven { if( $args.count -eq 0) {Get-Content ~/.virtualenv } else {virtualenv.exe "$args"; Write-Output ("{0} `t{1}" -f $args[-1],$PWD) | Out-File -Append $HOME/.virtualenv }}
# List what's in the file or the directories under ~/.virtualenvs
function lsven { try {Get-Content ~/.virtualenv } catch {Get-ChildItem ~\.virtualenvs -Directory | Select-Object -Property Name } }
ВНИМАНИЕ: это будет писать на
~\.virtualenv
...
Чтобы перечислить все виртуальные возможности
conda env list
Выход:
# conda environments:
#
D:\Programs\Anaconda3
D:\Programs\Anaconda3\envs\notebook
D:\Programs\Anaconda3\envs\snakes
D:\Programs\Anaconda3\envs\snowflakes
base * D:\Programs\Miniconda3
gluon D:\Programs\Miniconda3\envs\gluon
Если вы используете Anaconda
conda env list
Если вы используете Python3
lsvirtualenv
после того, как вы установили
pip install virtualenvwrapper
Используйте команду ниже bash, чтобы найти все виртуальные среды в вашей системе. Вы можете изменить команду в соответствии с вашими потребностями, чтобы получить желаемый формат.
locate --regex "bin/activate"$ | sed 's/bin\/activate$//'
Как мне найти имя виртуальной среды Django, если я забыл?. Это очень просто, если вы забыли имя виртуальной среды Django в операционной системе Windows 10, ее можно найти в следующем месте.
c: \ Users <имя> \ Envs <Виртуальные среды>
Лучший ответ, который я могу найти, это проверить установленный каталог python.
Что касается Windows, каталог по умолчанию для virtualenv и pipenv .
/c/User/<username>/.virtualenv/
Каталог (папка) внутри указанного выше каталога показывает все виртуальные файлы.
Пример -
ankit@ankit-PC MINGW64 ~/Desktop/study
$ ls /c/Users/ankit/.virtualenvs/
get_env_details* postactivate* postmkproject* postrmvirtualenv* predeactivate* premkvirtualenv* study-OwW1UW_H/
initialize* postdeactivate* postmkvirtualenv* preactivate* premkproject* prermvirtualenv*
Study-OwW1UW_H/ — единственный каталог и виртуальная среда в приведенном выше примере.
Это работает только в Windows:
Если вы пытаетесь найти все env, созданные с помощью virtualenv,
ищите "activate_this.py" или "pip-selfcheck.json"
если вы работаете с windows и conda, набирайте
conda info --envs
in cmd покажет все существующее виртуальное окружение.