Я пытаюсь активировать виртуальную среду, сгенерированную python python -m venv .env в Windows, с помощью команды .env/Scripts/activate Но в итоге получаю синтаксическую ошибку:
File "C:\Users\Admin\Documents\GPT\.env\Scripts\activate", line 8
if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
^
Это сгенерированный код, который я пытаюсь выполнить, чтобы активировать виртуальную среду:
# This file must be used with "source bin/activate" *from bash*
# you cannot run it directly
deactivate () {
# reset old environment variables
if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
PATH = "${_OLD_VIRTUAL_PATH:-}"
export PATH
unset _OLD_VIRTUAL_PATH
fi
if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
PYTHONHOME = "${_OLD_VIRTUAL_PYTHONHOME:-}"
export PYTHONHOME
unset _OLD_VIRTUAL_PYTHONHOME
fi
# This should detect bash and zsh, which have a hash command that must
# be called to get it to forget past commands. Without forgetting
# past commands the $PATH changes we made may not be respected
if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
hash -r 2> /dev/null
fi
if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
PS1 = "${_OLD_VIRTUAL_PS1:-}"
export PS1
unset _OLD_VIRTUAL_PS1
fi
unset VIRTUAL_ENV
if [ ! "${1:-}" = "nondestructive" ] ; then
# Self destruct!
unset -f deactivate
fi
}
# unset irrelevant variables
deactivate nondestructive
VIRTUAL_ENV = "C:\Users\Admin\Documents\GPT\.env"
export VIRTUAL_ENV
_OLD_VIRTUAL_PATH = "$PATH"
PATH = "$VIRTUAL_ENV/Scripts:$PATH"
export PATH
# unset PYTHONHOME if set
# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
# could use `if (set -u; : $PYTHONHOME) ;` in bash
if [ -n "${PYTHONHOME:-}" ] ; then
_OLD_VIRTUAL_PYTHONHOME = "${PYTHONHOME:-}"
unset PYTHONHOME
fi
if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
_OLD_VIRTUAL_PS1 = "${PS1:-}"
PS1 = "(.env) ${PS1:-}"
export PS1
fi
# This should detect bash and zsh, which have a hash command that must
# be called to get it to forget past commands. Without forgetting
# past commands the $PATH changes we made may not be respected
if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
hash -r 2> /dev/null
fi
Я пытался:
virtualenv --python .env/Scripts/activate и получите: RuntimeError: failed to query C:\Users\Admin\Documents\GPT\.env\Scripts\activate with code 8 err: '%1 is not a valid Win32 application'
Я не уверен, почему у чего-то сгенерированного уже есть синтаксические ошибки.






Согласно документации , скрипт activate предназначен для bash/zsh. В Windows вы должны использовать activate.bat (cmd) или Activate.ps1 (PowerShell). Так что вместо .env/Scripts/activate должно работать .env/Scripts/Activate.ps1.