51

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?

1
  • 1
    Note that virtualenv != venv Commented Dec 4, 2021 at 11:44

10 Answers 10

65

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.

Sign up to request clarification or add additional context in comments.

Comments

45

venv is a module introduced in python3

venv is New in version 3.3.

Comments

19

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 

Comments

3
sudo apt-get install python3-pip python3 -m pip install virtualenv python3 -m virtualenv venv source venv/bin/activate 

Comments

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.

3 Comments

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.
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.
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.
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 

Comments

1

I changed python -> python3:

python3 -m venv flask 

Comments

1

I got this error because I had the wrong distribution of Python on my PATH.

On Windows 10, I installed "Windows embeddable package" from https://www.python.org/downloads/windows/

When looking at the files next to python.exe you can see there are some .dll and .pyd files, and that's it. That's not enough for development, you need Lib/Scripts/Tools folders too.

So my solution was: use a non-embeddable distribution of Python.

1 Comment

Thanks pal! Highly non-obvious. Spent a lot of time WTF-ing
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 <>

Comments

0

python3 comes with the venv package.

In linux: python3 -m venv yourenvname

In windows: py -m venv yourenvname

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.