Amanda
Amanda

Reputation: 12737

Why is python saying I have "no module named venv"?

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?

Upvotes: 50

Views: 190488

Answers (10)

TWiStErRob
TWiStErRob

Reputation: 46460

I got this error because I had the wrong distribution of Pyhton 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.

Upvotes: 1

addohm
addohm

Reputation: 2443

python3 comes with the venv package.

In linux: python3 -m venv yourenvname

In windows: py -m venv yourenvname

Upvotes: 0

Rafik Muhtarov
Rafik Muhtarov

Reputation: 21

sudo apt-get install python3-pip

python3 -m pip install virtualenv

python3 -m virtualenv venv

source venv/bin/activate

Upvotes: 2

Amit khandelwal
Amit khandelwal

Reputation: 534

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

Upvotes: 0

gshoanganh
gshoanganh

Reputation: 335

I changed python -> python3:

python3 -m venv flask

Upvotes: 1

Teocci
Teocci

Reputation: 8835

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

Upvotes: 1

Codemaker2015
Codemaker2015

Reputation: 1

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

Upvotes: 19

Pedro Grangeiro
Pedro Grangeiro

Reputation: 21

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.

Upvotes: 2

idjaw
idjaw

Reputation: 26560

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.

Upvotes: 65

kmad1729
kmad1729

Reputation: 1614

venv is a module introduced in python3

venv is New in version 3.3.

Upvotes: 45

Related Questions