Issue
I installed python environment by means of commands:
SYS_INSTALL="apt-get install -y"
PIP_INSTALL="pip install"
# Be sure to install setuptools before pip to properly replace easy_install.
$SYS_INSTALL git
$SYS_INSTALL python-dev
$SYS_INSTALL python-setuptools
$SYS_INSTALL python-pip
$PIP_INSTALL virtualenv
also was able to create new virtual environment:
virtualenv .env
However, after running a command like:
. .env/bin/activate
I got
-bash: .env/bin/activate: No such file or directory
After reviewing folder .env/bin
I found only one python
file. Whole list of files here:
.env/lib:
python2.7
.env/include:
python2.7
.env/bin:
python
What is the issue here?
SOLUTION add --always-copy
virtualenv .env --always-copy
Solution
The accepted answer is incomplete! The suggested code left out your error, but didn't comment on it.
The command . .env/bin/activate
would indeed do the same as source
on the file activate
in the folder .env/bin
. In fact, apparently the command "source
" is an alias for the command ".
", and not the other way around. Note that .
here has a space after it, and used differently from the .
discussed below (which makes files and folders hidden).
What I notice is that you are calling your folder .env
, which is not standard practice. Files and folders preceded by .
are made "hidden" by Mac OS X. Standard practice is to call a virtual environment directory env
or venv
, and to call the virtual environment specification file .env
.
So, if your spec file is called .env
and your virtual environment directory is called env
, you can run either
source env/bin/activate
or
. env/bin/activate
.
Answered By - Zach Siegel Answer Checked By - Marilyn (WPSolving Volunteer)