46

I installed virtual env with sudo pip install virtualenv but when I run python -m venv flask I'm still getting this: /usr/bin/python: No module named venv

Versions, if that's relevant:

pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)
Python 2.7.9

what am I missing here?

Amanda
  • 12,099
  • 17
  • 63
  • 91
  • 1
    Note that [virtualenv](https://virtualenv.pypa.io/en/latest/) != [venv](https://docs.python.org/3/library/venv.html) – wovano Dec 04 '21 at 11:44

8 Answers8

61

Since you are on Python 2, you need to execute using the virtualenv module that you installed.

First step, as you originally tried to do, but this time you specify the "virtualenv" module and the name of the virtualenv. In this case flask:

python -m virtualenv flask

Then you activate your virtualenv like this:

source flask/bin/activate

Then install flask with pip inside the virtualenv

pip install flask

If you want to deactivate your virtualenv, simply type:

deactivate

If running on Python 3, the venv command is built-in and you can simply do:

python3 -m venv flask

Note, depending on how your Python 3 is installed, your python execution command might differ. You could be running it as python3, python3.5, python3.6.

idjaw
  • 25,487
  • 7
  • 64
  • 83
42

venv is a module introduced in python3

venv is New in version 3.3.

kmad1729
  • 1,484
  • 1
  • 16
  • 20
16

The venv is ony available in python 3 version. If you are using python 2 then try to use virtualenv instead of venv.

1. Install virtualenv,

python -m pip install virtualenv

2. Create a virtual environment named venv using virtualenv,

Python 2

python -m virtualenv venv

Python3

python -m venv venv

3. Activate virtual environment,

.\venv\Scripts\activate.bat

4. Install flask package,

pip install flask
Codemaker2015
  • 12,190
  • 6
  • 97
  • 81
2

If are you using "windows". Try it in "cmd" navigate in cmd to the folder you want to install venv and do:

python3 -m venv project_env

You can change the name of the project to.

  • Pretty sure Windows doesn't have a `sudo` command! Either way, the answer to this 5yo question is in the accepted answer. `venv` is python3. – Amanda Apr 21 '21 at 22:27
  • I'm sorry @Amanda. I'm new on the stack overflow, and english is not my native language. But, i was talking about the error "no module named venv", which also occurred on my windows system, and I thought it would be useful if any user of windows gets here through google. – Pedro Grangeiro Apr 22 '21 at 15:55
  • Ahhh! I have been on this site a long time and every now and then a wildly old question will suddenly get new answers that don't even apply to the actual question. I bet a l lot of them are coming via a web search for the error message. – Amanda Apr 23 '21 at 04:58
2

sudo apt-get install python3-pip

python3 -m pip install virtualenv

python3 -m virtualenv venv

source venv/bin/activate

1

For python3 users, just be sure that you installed pip and venv packages:

sudo apt install python3-pip
sudo apt install python3-venv

Then you can use it like this:

python3 -m venv ~/sample
. ~/sample/bin/activate
pip install flask
Teocci
  • 7,189
  • 1
  • 50
  • 48
1

I changed python -> python3:

python3 -m venv flask
gshoanganh
  • 137
  • 1
  • 3
0

Do the following for this issue.

  1. pip install venv (If this has got some issue that means python version recognized by your machine don't have updated version) so use below command: pip install the virtualenv
  2. python -m venv <> if this has got the same issue so use below one. python -m virtualenv <>
Amit khandelwal
  • 504
  • 5
  • 6