Разрешение отклонено при активации venv
Я только что начал новый проект python и создал venv внутри папки проекта, запустив virtualenv venv
в терминале. Тем не менее, когда я запускаю venv/bin/activate
, я получаю сообщение об отказе в разрешении.
Я пробовал
sudo chown -R user:user project/venv
но я получаю
chown: user: illegal group name
Я поставил эти venvs до тонны раз и никогда не имел проблемы. Есть ли что-нибудь еще, что я могу попробовать?
Я нахожусь на Mac.
Ответы
Ответ 1
Вам нужно бежать
. venv/bin/activate
или же
source venv/bin/activate
Файл activate
намеренно не исполняется, потому что он должен быть получен.
Это должно быть получено, потому что это должно внести изменения в окружающую среду. Если он запускается как сценарий, он вносит изменения только в среду дочернего процесса, используемого для запуска сценария.
Кто-то в комментариях спросил о .
команда. Со страницы руководства для bash:
. filename [arguments]
source filename [arguments]
Read and execute commands from filename in the current shell
environment and return the exit status of the last command
executed from filename.
Короче говоря .
является встроенной оболочкой, что означает то же самое, что встроенный source
.
Ответ 2
В принципе, он ищет разрешение на активацию в созданном пути к папке.
В корневой команде дайте ниже команду разрешений на нужный путь, где находится активация
sudo chmod -R 755 ~/tensorflow/* # or whatever the target structure
Это расширит все разрешения, включая Read/Write/Execute и группу
затем выполните ~/bin/activate
Ответ 3
Это работает для меня на Mac.
source ./bin/activate
Ответ 4
В корневой строке командной строки введите:
source /home/<your_username>/<app_folder>/<venv_name>/bin/activate
Работал для меня
Ответ 5
перейдите для активации файла правой кнопкой мыши и откройте properties--> разрешения
и проверьте Выполнить
откройте это изображение:
![enter image description here]()