I couldn't get virtualenv
to work despite various attempts. I installed virtualenv
on MAC OS X using:
pip install virtualenv
and have also added the PATH
into my .bash_profile
. Every time I try to run the virtualenv
command, it returns:
-bash: virtualenv: command not found
Every time I run pip install virtualenv
, it returns:
Requirement already satisfied (use --upgrade to upgrade): virtualenv in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
I understand that in mac, the virtualenv
should be correctly installed in
/usr/local/bin
The virtualenv
is indeed installed in /usr/local/bin
, but whenever I try to run the virtualenv
command, the command is not found. I've also tried to run the virtualenv
command in the directory /usr/local/bin
, and it gives me the same result:
-bash: virtualenv: command not found
These are the PATHs I added to my .bash_profile
export PATH=$PATH:/usr/local/bin
export PATH=$PATH:/usr/local/bin/python
export PATH=$PATH:/Library/Framework/Python.framework/Version/2.7/lib/site-packages
Any workarounds for this? Why is this the case?
This question is related to
python
macos
virtualenv
I had the same problem for a long time. I solved it by running these two commands, first is to install second is to activate the env:
python3 -m pip install virtualenv
python3 -m virtualenv yourenvname
Note that I'm using python3
, you can change it to just python
if python3
fails.
Thanks.
I faced the same issue and this is how I solved it:
~/.local/lib/pythonX.X/site-packages
/usr/lib/pythonX.X/dist-packages
. This path might be different for you.pip uninstall virtualenv
and then reinstall it with sudo pip install virtualenv
(or install as root)In my case, I ran pip show virtualenv
to get the information about virtualenv package. I will look similar to this and will also show location of the package:
user@machine:~$ pip show virtualenv
Name: virtualenv
Version: 16.2.0
Summary: Virtual Python Environment builder
Home-page: https://virtualenv.pypa.io/
Author: Ian Bicking
Author-email: [email protected]
License: MIT
Location: /home/user/.local/lib/python3.6/site-packages
Requires: setuptools
From that grab the part of location up to the .local
part, which in this case is /home/user/.local/
. You can find virtualenv command under /home/user/.local/bin/virtualenv
.
You can then run commands like /home/user/.local/bin/virtualenv newvirtualenv
.
python -m virtualenv virtualenv_name
For me it was installed in this path (python 2.7 on MacOS): $HOME/Library/Python/2.7/bin
Same problem:
So I just did pip uninstall virtualenv
Then pip install virtualenv
pip install virtualenv --user
Collecting virtualenv Using cached https://files.pythonhosted.org/packages/b6/30/96a02b2287098b23b875bc8c2f58071c35d2efe84f747b64d523721dc2b5/virtualenv-16.0.0-py2.py3-none-any.whl Installing collected packages: virtualenv
Then I got this :
The script virtualenv is installed in '/Users/brahim/Library/Python/2.7/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
which clearly says where it is installed and what to do to get it
Found this solution and this worked perfectly for me.
sudo -H pip install virtualenv
The -H sets it to the HOME directory, which seems to be the issue for most people.
I had the same issue. I used the following steps to make it work
sudo pip uninstall virtualenv
sudo -H pip install virtualenv
That is it. It started working.
Usage of sudo -H
----> sudo -H:
set HOME
variable to target user's home dir.
I think your problem can be solved using a simple symbolic link, but you are creating the symbolic link to the wrong file. As far as I know virtualenv is installed to /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv
, (you can change the numbers for your Python version) so the command for creating the symbolic link should be:
ln -s /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv /usr/local/bin/virtualenv
I'm doing Angela Yu's online iOS course and I was getting same problem plus also was getting permission denied error 13 when I was trying to run virtualenv --python=/{myPath} {newVirtualEnvName}
I solved it by:
sudo su
python -m virtualenv python27
where python27 is a name of my new virtual environmentsource python27/bin/activate
to start my virtualenvIf you're using Linux, open your terminal and type virtualenv halfway and autocomplete with tab key. If there's no auto-completion install virtualenv on your system by running:
mycomp$sudo apt-get install virtualenv
//if you're already super user.
mycomp#apt-get install virtualenv
You can now navigate to where you want to create your project and do:
myprj$pip3 install virtualenv
//to install python 3.5 and above
myprj$virtualenv venv --python=python3.5
//to activate virtualenv
(venv)myprj$source venv/bin/activate
(venv)myprj$deactivate
On ubuntu 18.4 on AWS installation with pip don't work correctly. Using apt-get install the problem was solved for me.
sudo apt-get install python-virtualenv
and to check
virtualenv --version
Make sure that you are using
sudo
In this case, at first you need to uninstall the pipenv and then install again using sudo command.
pip uninstall pipenv
sudo pip install pipenv
Simple answer is that if you are not a sudo user as I was not one.You need to add path of your bin folder (/home/myusername/.local/bin
).So basically the command line searches in which of these path is the command which you have typed.
export PATH=/home/b18150/.local/bin:/usr/bin:/bin
here it will search in local/bin
first then /usr/bin
and then /bin
.
The simplest answer. Just:
pip uninstall virtualenv
and then:
pip install virtualenv
Or you maybe installed virtualenv with sudo
, in that case:
pip install --user virtualenv
If you installed it with
pip install virtualenv
You need to run
sudo /usr/bin/easy_install virtualenv
which puts it in /usr/local/bin/
.
The above directory by default should be in your PATH
; otherwise, edit your .zshrc
(or .bashrc
) accordingly.
On Ubuntu 18.04 LTS I also faced same error. Following command worked:
sudo apt-get install python-virtualenv
sudo apt-get install python-virtualenv
I had same problem on Mac OS X El Capitan.
When I installed virtualenv
like that sudo pip3 install virtualenv
I didn't have virtualenv
under my command line.
I solved this problem by following those steps:
virtualenv
installation by calling sudo su
virtualenv
by calling pip3 install virtualenv
virtualenv
from both user
and super user
account.Ensure that virtualenv
is executable.
If virtualenv
is not found, running the full path (/usr/local/bin/virtualenv
) should work.
Follow these basic steps to setup the virtual env
sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/get-pip.py ~/.cache/pip
we need to update our ~/.bashrc
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
The ~/.bashrc
file is simply a shell script that Bash runs whenever you launch a new terminal. You normally use this file to set various configurations. In this case, we are setting an environment variable called WORKON_HOME
to point to the directory where our Python virtual environments live. We then load any necessary configurations from virtualenvwrapper .
To update your ~/.bashrc
file simply use a standard text editor, nano is likely the easiest to operate.
A more simple solution is to use the cat command and avoid editors entirely:
echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.bashrc
echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bashrc
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc
After editing our ~/.bashrc file, we need to reload the changes:
source ~/.bashrc
Now that we have installed virtualenv and virtualenvwrapper , the next step is to actually create the Python virtual environment — we do this using the mkvirtualenv command.
mkvirtualenv YOURENV
You said that every time you run the pip install
you get Requirement already satisfied (use --upgrade to upgrade): virtualenv in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
. What you need to do is the following:
cd /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
ls
you will see that the script is there virtualenv.py
python virtualenv.py --distribute /the/path/at/which/you/want/the/new/venv/at theNameOfTheNewVirtualEnv
Hope this helps. My advice would be to research venvs more. Here is a good resource: https://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/
Figure out the problem
Try installing with the --verbose
flag
pip install virtualenv --verbose
Output will look something like this
..
Using cached virtualenv-15.1.0-py2.py3-none-any.whl
Downloading from URL https://pypi.python.org/packages/6f/86/3dc328ee7b1a6419ebfac7896d882fba83c48e3561d22ddddf38294d3e83/virtualenv-15.1.0-py2.py3-none-any.whl#md5=aa7e5b86cc8cdb99794c4b99e8d670f3 (from https://pypi.python.org/simple/virtualenv/)
Installing collected packages: virtualenv
changing mode of /home/manos/.local/bin/virtualenv to 755
Successfully installed virtualenv-15.1.0
Cleaning up...
From the output we can see that it's installed at /home/manos/.local/bin/virtualenv
so let's ensure PATH includes that.
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
In my case we can clearly see that /home/manos/.local/bin
is totally missing and that's why the shell can't find the program.
Solutions
We can solve this in many ways:
/usr/local/bin
or similar./home/manos/.local/bin
to PATH./usr/local/bin
The two last options are probably the most sensible. The last solution is the simplest so therefore I will just show solution 3.
Add this to ~/.profile:
PATH="$PATH:$HOME/.local/bin"
Logout out and in again and it should work.
apt update
apt upgrade
apt install ufw python virtualenv git unzip pv
3 commands and everything working!
this works in ubuntu 18 and above (not tested in previous versions):
sudo apt install python3-virtualenv
I had troubles because I used apt to install python-virtualenv package.
To get it working I had to remove this package with apt-get remove python-virtualenv
and install it with pip install virtualenv
.
Personally. I did the same steps you did on a fresh Ubuntu 20 installation (except that I used pip3). I got the same problem, and I remember I solved it this way:
python3 -m virtualenv venv
Link to understand the -m <module-name>
notation.
Source: Stackoverflow.com