I'm new to Python virtual environments, so after reading this tutorial I tried to create my first environment using virtualenvwrapper. My python3 installation is at the bare bones now:
$ pip3 list
argparse (1.2.1)
pip (1.5.6)
setuptools (2.1)
stevedore (0.15)
virtualenv (1.11.6)
virtualenv-clone (0.2.5)
virtualenvwrapper (4.3.1)
As suggested by the tutorial, I added the following lines to my .bashrc file:
export WORKON_HOME=$HOME/.virtualenvs
source /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper_lazy.sh
which results in the following message when I open a new Terminal:
Last login: Wed Sep 10 22:33:17 on ttys006
-bash: _VIRTUALENVWRAPPER_API: unbound variable
-bash: VIRTUALENVWRAPPER_SCRIPT: unbound variable
-bash: VIRTUALENVWRAPPER_SCRIPT: unbound variable
-bash: _VIRTUALENVWRAPPER_API: unbound variable
-bash: _VIRTUALENVWRAPPER_API: unbound variable
complete: usage: complete [-abcdefgjksuv] [-pr] [-o option] [-A action] [-G globpat] [-W wordlist] [-P prefix] [-S suffix] [-X filterpat] [-F function] [-C command] [name ...]
I don't understand what the problem is, but clearly the source /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper_lazy.sh line fails because then I can't even find the mkvirtualenv command:
$ mkvirtualenv test1 -p /usr/bin/python3.3
-bash: mkvirtualenv: command not found
I found this post and this one, with similar problems, but none of them gave me a solution.



.bashrcfile?.bashrcfile, the result of many years of work of adding different commands and functions from here and there.set -uin there?set -o notify,set -o noclobber,set -o ignoreeof,set -o nounset.set -o nounsetthat'sset -u. That's going to be the issue here. The preponderance of scripts out there aren't expecting to be run with that set as it makes many idiomatic actions fail. Disable that and see if it starts to work.