Can not activate a virtualenv in GIT bash mingw32 for Windows

When I try to activate my virtualenv from GIT bash mingw32 I do not get the expected response.

NOTE: py is the folder for Python projects in my Google Drive folder. hy is the virtualenv folder that was made when I ran virtualenv --distribute hy.

s3z@s3z ~/Google Drive/py/hy
$ Scripts/activate

So you see, there is no expected (hy) that appears before s3z@s3z ~/Google Drive/py/hy

s3z@s3z ~/Google Drive/py/hy
$ Scripts/activate.bat
Scripts/activate.bat: line 1: @echo: command not found
Scripts/activate.bat: line 4: syntax error near unexpected token `('
Scripts/activate.bat: line 4: `if not defined PROMPT ('

And when targeting the actual file name activate.bat I get error messages. Then I try deactivating to see what happens cause I thought maybe virtualenv was activated but hidden.

s3z@s3z ~/Google Drive/py/hy
$ Scripts/deactivate.bat
Scripts/deactivate.bat: line 1: @echo: command not found
Scripts/deactivate.bat: line 3: syntax error near unexpected token `('
Scripts/deactivate.bat: line 3: `if defined _OLD_VIRTUAL_PROMPT ('

s3z@s3z ~/Google Drive/py/hy
$ Scripts/deactivate
sh.exe": Scripts/deactivate: No such file or directory

Any ideas?


Doing Scripts/activate runs the script in a new instance of the shell, which is destroyed after the script execution. To run the script in your current shell, use either . Scripts/activate or source Scripts/activate.

Scripts/activate.bat does not work here because it is written in Batch, Windows cmd.exe language, and not Bash.


On Windows10, you could go in the directory of your virtualenv where the Scripts folder is placed then enter the below command

source ./Scripts/activate

Note the .(dot) without this it was giving error to me when I use it like above mentioned then the solution provided by Pierre worked for me.


How to activate then deactivate a venv with Git Bash


To access your python in Windows 10, you need to add the .exe when creating the virtual environment.

$ python.exe -m venv Scripts

Then you can move into the Scripts folder you created for the virtual environment.

$ cd Scripts/

Now you have to call on it to activate the virtual environment.

$ source ./Scripts/activate

When you are done you just deactivate the virtual environment.

$ deactivate

Screenshot how to activate/deactivate Git Bash venv