I'm trying to setup virtualenvwrapper on OSX, and all the instructions and tutorials I've found tell me to add a source command to .profile, pointing towards virtualenvwrapper.sh. I've checked all the python and site-packages directories, and I can't find any virtualenvwrapper.sh. Is this something I need to download separately? Is pip not installing correctly?
This is the contents of /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenvwrapper:
hook_loader.py hook_loader.pyc project.py project.pyc user_scripts.py user_scripts.pyc
As you can see, no virtualenvwrapper.sh. Where is it?
This question is related to
python
macos
virtualenv
pip
virtualenvwrapper
On Mac OS
which virtualenvwrapper.sh
u got
/Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh
and u can
sudo ln /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh /usr/local/bin/virtualenvwrapper.sh
and in your .bash_profile
source /usr/local/bin/virtualenvwrapper.sh
or u can
source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh
/usr/local/bin/virtualenvwrapper.sh
/usr/share/virtualenvwrapper/virtualenvwrapper.sh
I've installed it on Ubuntu 16.04 and it resulted in this location.
I just reinstalled it with pip.
sudo pip uninstall virtualenvwrapper
sudo pip install virtualenvwrapper
And this time it put it in /usr/local/bin.
I can find one in macOS Mojave (10.14) while playing with virtualenvwrapper-4.8.4
/Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh
In OSx EI captain, I installed the virtualenvwrapper as
sudo pip3 install virtualenvwrapper
, however I cannot find the virtualenvwrapper.sh in /user/local/bin
,
it was finally found at /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper.sh
, and you can make an soft link to /usr/local/bin as
ln -s /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper.sh /usr/local/bin/virtualenvwrapper.sh
, and everything you can just follow the setup guide as the official document does.
Good luck!
The exact path where virtualenvwrapper.sh is stored/located varies from OS to OS. Even with in same OS, it varies from version to version. So we need a generic solution that works for all OS versions.
Easiest way I have found to find its path is: Do
pip uninstall virtualenvwrapper
This will prompt a confirmation. Say "No" But first line of confirmation shows the path of virtualenvwrapper.sh (Prompt gives a list of files it will delete, if you say Yes. First entry in this list contains path to virtualenvwrapper.sh in your machine)
In OS X 10.8.2, with Python 2.7:
/Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh
For RPM-based distributions(like Fedora 19), after running the sudo pip install virtualenvwrapper
command, you may find the file at:
/usr/bin/virtualenvwrapper.sh
or, like I did..just uninstall virtualenvwrapper
sudo pip uninstall virtualenvwrapper
and then install it with easy_install
sudo easy_install virtualenvwrapper
this time I found the file "/usr/local/bin/virtualenvwrapper.sh" installed... Before that I weren't finding that file anywhere even by this command
find / -name virtualenvwrapper.sh
Although this is an OS X question, here's what worked for me on Linux (Red Hat).
My virtualwrapper.sh was in
~/.local/bin/virtualenvwrapper.sh
This is probably because I installed virtualenvwrapper locally, using the --user
flag...
pip install --user virtualenvwrapper
...as an alternative to the risky practice of using sudo pip
.
I have the same problem. If you have older version of virtualenvwrapper, then pip wont work.
download src from http://pypi.python.org/pypi/virtualenvwrapper/3.6 and python setup.py install. Then the problem solved.
Have you installed it using sudo? Was the error in my case.
Installed it using pip on Ubuntu 15.10 using a normal user, it was put in ~/.local/bin/virtualenvwrapper.sh
which I found by running:
$ find / -name virtualenvwrapper.sh 2>/dev/null
Using
find / -name virtualenvwrapper.sh
I got a TON of "permissions denied"s, and exactly one printout of the file location. I missed it until I found that file location when I uninstall/installed it again with pip.
In case you were curious, it was in
/usr/local/share/python/virtualenvwrapper.sh
If you execute pip install virtualenvwrapper
without sudo as a normal user pip will run but won't copy the files in the required locations because the lack of permissions.
mortiz@florida:~# sudo pip3 install virtualenvwrapper
Use sudo and the files will be created under their respective paths:
root@florida:/usr/local/bin# ls -ltr
total 8008
-rwxr-xr-x 1 root staff 8136192 Jun 11 17:45 chromedriver
-rwxr-xr-x 1 root staff 41697 Sep 5 16:06 virtualenvwrapper.sh
-rwxr-xr-x 1 root staff 2210 Sep 5 16:06 virtualenvwrapper_lazy.sh
-rwxr-xr-x 1 root staff 215 Sep 5 16:06 pbr
-rwxr-xr-x 1 root staff 218 Sep 5 16:06 virtualenv-clone
-rwxr-xr-x 1 root staff 213 Sep 5 16:06 virtualenv
root@florida:/usr/local/bin#
Worked for me on Debian GNU/Linux 9
In my case (OSX El Capitan, version 10.11.5) I needed to edit the .profile like so:
In the terminal:
vim ~/.profile
export WORKON_HOME=$HOME/.virtualenvs
export MSYS_HOME=C:\msys\1.0
source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh
And then reload the profile (that it will be availuble in the current session.)
source ~/.profile
Hope it will help someone.
For me it was in :
~/Library/Python/2.7/bin/virtualenvwrapper.sh
(With OS X, with a pip install --user
installation)
in my case: /home/username/.local/bin/virtualenvwrapper.sh
did you already try this ?
$ which virtualenvwrapper.sh
I had the same issue in with the beagle bone black(debian).
Manually downloading the package and installing worked for me.
pip will not try to make things difficult for you on purpose.
The thing is commands based files are always installed in /bin
folders they can be anywhere on the system path.
I had the same problem and I found that I have these files in my
~/.local/bin/
folder instead of
/usr/loca/bin/
which is the common case, but I think they changed the default path to
~
or $HOME
directory because its more isolate for the pip installations and provides a distinction between apt-get packages and pip packages.
So coming to the point you have two choices here either you go to your .bashrc and make changes like this
# for virtualenv wrapper
export WORKON_HOME=$HOME/Envs
export PROJECT_HOME=$HOME/Devel
source $HOME/.local/bin/virtualenvwrapper.sh
and than create a directory virtualenvwrapper under
/usr/share/
and than symlink your virtualwrapper_lazy.sh like this
sudo ln -s ~/.local/bin/virtualenvwrapper_lazy.sh /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh
and you can check if your workon command is working which will list your existing virtualenv's.
For Ubuntu
If you just installed it, check the output on Terminal, I'm posting mine :
Running setup.py install for virtualenv-clone
Installing virtualenv-clone script to /home/username/.local/bin
Successfully installed virtualenvwrapper virtualenv virtualenv-clone stevedore pbr six
Cleaning up...
Here the second line tells you the path. For me it was at /home/username/.local/bin
Source: Stackoverflow.com