Разрешение отклонено при активации 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