Why am I getting "Permission denied" when activating a venv?

Question:

I just started a new python project and created a venv inside the project folder by running virtualenv venv in the terminal. However, when I run venv/bin/activate I get a permission denied error.

I have tried

sudo chown -R user:user project/venv

but I get

chown: user: illegal group name

I have set these venvs up a ton of times and never had the issue. Is there anything else I can try?

I am on a Mac.

Asked By: user3088202

||

Answers:

You need to run

. venv/bin/activate

or

source venv/bin/activate

The activate file is deliberately not executable because it must be sourced.

It must be sourced because it needs to make changes to the environment. If it is run as a script, it will only make changes to the environment of the child process used to run the script.

Someone in the comments asked about the . command. From the man page for 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.

In short, . is a shell built-in that means the same thing as the source built-in.

Answered By: user3657941

From the command line root enter:

source /home/<your_username>/<app_folder>/<venv_name>/bin/activate

Worked for me

Answered By: Julian

Basically, it’s looking for permission to execute activate on the created folder path.

On the root give below permissions command on the desired path where activate is located

sudo chmod -R 755 ~/tensorflow/* # or whatever the target structure 

This will extend all the permissions including Read/Write/Execute and group

then execute ~/bin/activate

Answered By: neiodavince

go to activate file right click and open properties–>permissions

and check Execute

open this image:

enter image description here

Answered By: Alaskry ibrahim

On my VSC, I used these and it worked.

python3 -m venv .venv

source .venv/bin/activate
Answered By: francescowang

I had the same problem and this worked for me:. venv/bin/activate

Answered By: Cyebukayire

enter image description hereFrom within the virtual environment folder can type:

source ./bin/activate

and yes if you run into the permission issue then go one folder up and do the
source ./foldervirtualenvironment/bin/activate

Answered By: Fayaz

source venv/bin/activate

source venv/bin/activate

activated successfully
‘source’ command need to add before full path of activation file.

Ex.

  • Source your_project_folder_path/venv/bin/activate

**

if you’re inside project folder then following command-

  • Source venv/bin/activate

.

Answered By: Alauddin Sabari
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.