Issue with virtualenv – cannot activate

Question:

I created a virtualenv around my project, but when I try to activate it I cannot.
It might just be syntax or folder location, but I am stumped right now.

You can see below, I create the virtualenv and call it venv. Everything looks good, then I try to activate it by running source venv/bin/activate

I’m thinking it might just have to do with my system path, but not sure what to point it to (I do know how to edit the path). I’m on python 7 / windows os, virtual env 2.2.x

Processing dependencies for virtualenv
Finished processing dependencies for virtualenv

c:testdjangoprojmysite>virtualenv --no-site-packages venv
The --no-site-packages flag is deprecated; it is now the default behavior.
Using real prefix 'C:\Program Files (x86)\Python'
New python executable in venvScriptspython.exe
File venvLibdistutilsdistutils.cfg exists with different content; not overwri
ting
Installing setuptools.................done.
Installing pip...................done.

c:testdjangoprojmysite>source venv/bin/activate
'source' is not recognized as an internal or external command,
operable program or batch file.

c:testdjangoprojmysite>source venv/bin/activate
'source' is not recognized as an internal or external command,
operable program or batch file.

c:testdjangoprojmysite>source mysite/bin/activate
'source' is not recognized as an internal or external command,
operable program or batch file.

c:testdjangoprojmysite>
Asked By: user1157538

||

Answers:

source is a shell command designed for users running on Linux (or any Posix, but whatever, not Windows).

On Windows, virtualenv creates a .bat/.ps1 file, so you should run venvScriptsactivate instead (per the virtualenv documentation on the activate script).

Just run activate, without an extension, so the right file will get used regardless of whether you’re using cmd.exe or PowerShell.

Answered By: John Flatness

I have a hell of a time using virtualenv on windows with git bash, I usually end up specifying the python binary explicitly.

If my environment is in say .env I’ll call python via ./.env/Scripts/python.exe …, or in a shebang line #!./.env/Scripts/python.exe;

Both assuming your working directory contains your virtualenv (.env).

Answered By: ThorSummoner
  1. For activation you can go to the venv your virtualenv directory
    by cd venv.

  2. Then on Windows, type dir (on unix, type ls).
    You will get 5 folders include, Lib, Scripts, tcl and 60

  3. Now type .Scriptsactivate to activate your virtualenv venv.

Your prompt will change to indicate that you are now operating within the virtual environment. It will look something like this (venv)user@host:~/venv$.

And your venv is activated now.

Answered By: Gautam Kumar

You can run the source command on cygwin terminal

Answered By: Paras Singh

I had the same problem. I was using Python 2, Windows 10 and Git Bash. Turns out in Git Bash you need to use:

 source venv/Scripts/activate
Answered By: jainilvachhani

A small reminder, but I had my slashes the wrong way on Win10 cmd. According to python documentation the activate command is: C:> <venv>Scriptsactivate.bat
When you’re browsing directories it’s e.g. cd .env/Scripts

So to create my venv I used python -m venv --copies .env and to activate .envScriptsactivate.bat

Answered By: louisav

For windows, type “C:UsersSidvenvFirstProjectScriptsactivate” in the terminal without quotes. Simply give the location of your Scripts folder in your project. So, the command will be location_of_the_Scripts_Folderactivate.enter image description here

If you see the 5 folders (Include,Lib,Scripts,tcl,pip-selfcheck) after using the virtualenv yourenvname command, change directory to Scripts folder in the cmd itself and simply use “activate” command.

Answered By: Abhishek Choudhari

I was also facing the same issue in my Windows 10 machine.
What steps i tried were:

Go to andconda terminal
Step 1

pip3 install -U pip virtualenv

Step 2

virtualenv --system-site-packages -p python ./venv

or

virtualenv --system-site-packages -p python3 ./venv

Step 3

.venvactivate

You can check it via spider tool in anaconda by typing import tensorflow as tf

Answered By: Tushar Srivastava

source command is officially for Unix operating systems family and you can’t use it on windows basically. instead, you can use venvScriptsactivate command to activate your virtual environment.

Made a Screenshot of how venvScriptsactivate command works correctly

Answered By: Mohammad Heydari

If you’re using Windows, use the command “venvScriptsactivate” (without the word source) to activate the virtual environment. If you’re using PowerShell, you might need to capitalize Activate.

Answered By: Thenhan

If you are using windows OS then in Gitbash terminal use the following command $source venv/Scripts/activate. This will help you to enter the virtual environment.

Answered By: Debjoti Chandra

open the folder with any gitbash console.
for example using visualCode and Gitbash console program:
1)Install Gitbash for windows

2) using VisualCode IDE, right click over the project open in terminal console option

3) on window console in Visualcode, looking for a Select->default shell and change it for Gitbash

4)now your project is open with bash console and right path, put source ./Scripts/activate

btw : . with blank space = source

enter image description here

Answered By: nativelectronic
  1. Open your project using VS code editor .
  2. Change the default shell in vs code terminal to git bash.

  3. now your project is open with bash console and right path, put
    “source venvScriptsactivate” in Windows

Answered By: shreya

Navigate to your virtualenv folder eg ..project1_env>
Then type

source scripts/activate

eg ..project1_env>source scripts/activate

Answered By: Amanga Emmanuel

Ensure venv is there and just follow the commands below. It works in Windows 10.

Go to the path where you want your virtual enviroments to reside:

> cd <my_venv_path>

Create the virtual environment named “env”:

> python -m venv env 

Add the path to the git ignore file (optional):

> echo env/ >> .gitignore

Activate the virtual env:

> .envScriptsactivate
Answered By: Vineeth I S
  1. Open your powershell as admin
  2. Enter "Set-ExecutionPolicy RemoteSigned -Force
  3. Run "gpedit.msc" and go to >Administrative Templates>Windows Components>Windows Powershell
  4. Look for "Activate scripts execution" and set it on "Activated"
  5. Set execution directive to "Allow All"
  6. Apply
  7. Refresh your env
Answered By: Fernando Mellone

if you already cd your project type only in windows 10

Scripts/activate

That works for me:)

Answered By: Bernardo Olisan

The best way is, using backward slahes and using .bat at the end of activate

C:Users>your_env_nameScriptsactivate.bat
Answered By: Ahmad Waqar
:: location of bat file
::C:UsersgaojiaDropboxProjectsfree_returnvenvScriptsactivate.bat 
:: location of the cmd bat file and the ipython notebook
::C:UsersgaojiaDropboxProjectsfree_returnscriptspre_analysis
source ....venvScriptsactivate
PAUSE
jupyter nbconvert --to html --execute consumer_response_DID.ipynb
PAUSE

Above is my bat file through which I try to execute an ipython notebook. But the cmd window gives me nothing and shut down instantly, any suggestion why would this happen?

Answered By: Jason Goal

If wants to open virtual environment on Windows then just remember one thing on giving path use backwards slash not forward.

This is right:

D:xampphtdocshtmldemopython-virtual-environment>envScriptsactivate

This is wrong:

D:xampphtdocshtmldemopython-virtual-environment>env/Scripts/activate
Answered By: heySushil

Tried several different commands until I came across:

source venv/Scripts/activate

This did it for me. Setup: Win 10, python 3.7, gitbash. Gitbash might be the culprit for not playing nice with other activate commands.

Answered By: Shah_z51

If you are using windows, just run .Scriptsactivate. Mind that the backslash plays the trick!

Answered By: Zidane

For windows Microsoft Tech Support it might be a problem with Execution Policy Settings. To fix it, you should try executing
Set-ExecutionPolicy Unrestricted -Scope Process

Answered By: Bharat Agrawal

Finally Worked on Windows 10 by using:

activate myvenv

where myvenv is the name the virtual environment I want to activate.

So basically, the command is:

activate <<your_venv_name>>

All the best!

Answered By: vagdevi k

The steps for activating virtualenv using Python3 on windows are:

  1. python3 -m venv env
  2. .envbinactivate
Answered By: Lalit Bangad

Use These it worked for meenvScriptsactivate

Answered By: Developer-Felix

It’s been a while without usign Django, so when I got back to my old project I run into the same issue on Windows 10
and this worked for me:

venv/Scripts/activate

Answered By: Cyebukayire

Some people are having trouble with vscode i assume as all the above methods dont work.

Its simply because by default vscode uses powershell not cmd…
click on the little arrow beside it and select cmd and run the command.

Answered By: Jack Froster

if .venvScriptsactivate does not work neither and you find this error

Activate.ps1 cannot be loaded because running scripts is disabled on this system

you can simple type set-executionpolicy remotesigned in powershell and the error must be gone.

powershell should run as administrator

Answered By: R00t761

Open powershell as admin and paste this "set-executionpolicy remotesigned", then go back to where you tried to run the activate of the venv and it should work 🙂

Link to the article that explains more in detail:
https://www.stanleyulili.com/powershell/solution-to-running-scripts-is-disabled-on-this-system-error-on-powershell/

Answered By: Lasse

For those of you crazy enough to have a custom DOS prompt, venv activation may fail, depending on your %PROMPT% environment variable content.

Say you have a DOS prompt defined as follows:

set PROMPT=$_$E[1;30;40m[$E[0;36;40m%computername% | %userdomain%%username%$E[1;30;40m] $E[0;33;40m$M$_$E[35;40m$d$s$t$h$h$h$h$h$h$_$E[1;33;40m$p$_$E[1;30;40m$g $E[0;37;40m

(btw, it shows as follows, with some fancy colors:

[W10-MY_COMPUTER | W10-MY_COMPUTERJOHNDOE]
15/09/2022 20:31
F:
> echo "Hello World"
Hello World

[W10-MY_COMPUTER | W10-MY_COMPUTERJOHNDOE]
15/09/2022 20:31
F:
>

)

Then if you try to activate a venv :

.venvScriptsactivate.bat

it may fail with a rather unclear error that states:

Path not found

without further indications.

The trick is that activate.bat(/deactivate.bat) scripts try to save(/restore) the %PROMPT% variable with this syntax:

...
set _OLD_VIRTUAL_PROMPT=%PROMPT%
...
set PROMPT=(venv) %PROMPT%
...

It can be fixed with this syntax:

...
set "_OLD_VIRTUAL_PROMPT=%PROMPT%"
...
set "PROMPT=(venv) %PROMPT%"
...

now it shows:

[W10-MY_COMPUTER | W10-MY_COMPUTERJOHNDOE]
15/09/2022 20:31
F:
> venvScriptsactivate.bat


(venv)
[W10-MY_COMPUTER | W10-MY_COMPUTERJOHNDOE]
15/09/2022 20:31
F:
>
Answered By: LoneWanderer

Instead of using:

 source ./venv/Scripts/activate

Use only:

 ./venv/Scripts/activate

Your Script will be activated.

Answered By: ShraOne Devade
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.