Python virtualenvwrapper problem running the initialization hooks
Solution 1
I am using Ubuntu server 16.04, You should also export the python interpreter in which you've installed the the virtualenvwrapper
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=~/.virtualenvs
source /home/vagrant/.local/bin/virtualenvwrapper.sh
Make sure to replace all the paths above according to your own system. Your wrapper script might e.g. be located in /usr/local/bin/virtualenvwrapper.sh
instead, or you might use a different interpreter or virtualenvs home, ...
Solution 2
just comment
source /usr/local/bin/virtualenvwrapper.sh
line in
~/.bashrc
file....it worked for me.
Solution 3
In the .bashrc
change
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
and then make it work in the current shell by
source /usr/local/bin/virtualenvwrapper.sh
Afterwards, change in the virtualenvwrapper.sh
VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
to this
VIRTUALENVWRAPPER_PYTHON="$(command \which python3)"
Solution 4
You probably need to update your PYTHONPATH environment variable. In your .bashrc, before all the virtualenvwrapper variables, add the following line:
export PYTHONPATH=${PYTHONPATH}:/usr/bin
Related videos on Youtube
All Іѕ Vаиітy
Updated on September 18, 2022Comments
-
All Іѕ Vаиітy over 1 year
On a fresh install of 16.04, I am trying to install virtualenvwrapper by following this great answer by Gerhard Burger.
after configuring the
.bashrc
, whenever opening the terminal displaysbash: /usr/local/bin/python2.7: No such file or directory virtualenvwrapper.sh: There was a problem running the initialization hooks. If Python could not import the module virtualenvwrapper.hook_loader, check that virtualenvwrapper has been installed for VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2.7 and that PATH is set properly.
the script location is,
$ sudo find / -name virtualenvwrapper.sh [sudo] password for john: /usr/local/bin/virtualenvwrapper.sh
contents of my
.bashrc
are,export WORKON_HOME=/home/john/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh export PIP_VIRTUALENV_BASE=/home/john/.virtualenvs
here is my
pip freeze
cffi==1.5.2 greenlet==0.4.9 pbr==1.10.0 readline==6.2.4.1 six==1.10.0 stevedore==1.15.0 virtualenv==15.0.2 virtualenv-clone==0.2.6 virtualenvwrapper==4.7.1
the python interpreter's location,
$ which python /usr/bin/python
How do I make it work?
thank you.
-
Videonauth almost 8 yearsWelcome to AskUbuntu. You might want to include a link to said answer you refer to :)
-
All Іѕ Vаиітy almost 8 years@Videonauth Thanks. I just removed the link while cleaning up. sorry.
-
edwinksl almost 8 years@John My
/usr/local/bin
indeed doesn't containpython2.7
, and I suspect yours doesn't either.which python2.7
says/usr/bin/python2.7
, but I have not yet figured out how to tellvirtualenvwrapper
to look in/usr/bin
instead of/usr/local/bin
. -
edwinksl almost 8 years@John Based on virtualenvwrapper.readthedocs.io/en/latest/…, can you add
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python
to your.bashrc
beforesource /usr/local/bin/virtualenvwrapper.sh
? -
All Іѕ Vаиітy almost 8 years@edwinksl tried it, but it doesn't fix.
-
edwinksl almost 8 years@John How about also adding
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
beforesource /usr/local/bin/virtualenvwrapper.sh
? -
All Іѕ Vаиітy almost 8 years@edwinksl sorry to say, that too doesn't work.
-
edwinksl almost 8 years@John Ah okay. I am not sure what to try next, so I will let others try instead.
-
bit_scientist about 7 yearsI have the same problem, every time I open the terminal it displays
/usr/bin/python3: Error while finding spec for 'virtualenvwrapper.hook_loader' (ImportError: No module named 'virtualenvwrapper') virtualenvwrapper.sh: There was a problem running the initialization hooks. If Python could not import the module virtualenvwrapper.hook_loader, check that virtualenvwrapper has been installed for VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 and that PATH is set properly.
-
-
Special Character over 2 years
VIRTUALENVWRAPPER_PYTHON="$(command \which python3)"
worked for me. I think this was because I had two versions of python and it needed to know to pick python3 but it was installed in the homebrew.which python
returned/usr/bin/python
butwhich python3
returned/opt/homebrew/bin/python3