gadss
gadss

Reputation: 22489

ImportError: No module named virtualenv

I am using Django 1.3.7 and python 2.7.6 on windows7 I got an error when I executing my manage.py in this line of code

import shutil, sys, virtualenv, subprocess

amd running it, I got this error

C:\Django-Proj\>python manage.py update_ve
Traceback (most recent call last):
  File "manage.py", line 4, in <module>
    import shutil, sys, virtualenv, subprocess
ImportError: No module named virtualenv

Does anyone have an Idea about my case?

Upvotes: 93

Views: 203062

Answers (13)

DroidT
DroidT

Reputation: 3293

I had the same problem but re-installing didn't work initially. Also, for some reason I had a virtualenv and virtualenv-clone in my bin. Manually removing the libraries did the trick for me.

rm -rf /usr/local/bin/virtualenv
rm -rf /usr/local/bin/virtualenv-clone
pipx install virtualenv # using pipx but should still work for pip

Upvotes: 0

Omer
Omer

Reputation: 3476

sudo apt install python3-virtualenv

worked for me: (WSL env)

sudo apt install python3-virtualenv

Upvotes: 0

Kuizame
Kuizame

Reputation: 178

Poetry wants to be in venv by default so I used venv in docker. I got the error randomly after multiple month of using that setup.

If this is the case for you, just don't use venv in docker. You can turn off venv requirement for poetry by: /usr/bin/poetry config virtualenvs.create false.

It is also possible to export poetry into requirements.txt by poetry export -f requirements.txt --output requirements.txt.

Upvotes: 0

Vinz
Vinz

Reputation: 31

For mac os the issue was with virtualenv. This is because the folder virtualenv did not exist.

This worked well

python3 -m venv env

Upvotes: 3

gradientsearch
gradientsearch

Reputation: 159

Got this error when using the ansible pip module automating some pip installs on my localhost.

fatal: [localhost]: FAILED! => {"changed": false, "cmd": ["/opt/bin/virtualenv", "--system-site-packages", "-p/usr/bin/python3", "/opt/venv/myenv"], "msg": "\n:stderr: /usr/bin/python3: No module named  virtualenv\n"}

Uninstalling virtualenv python3 -m pip uninstall virtualenv did show virtualenv was installed here /home/ubuntu/.local/bin/virtualenv.

In the ansible task specify the virtualenv_command:

- name: install requirements file
  pip:
    virtualenv_command: "/home/{{whoami.stdout}}/.local/bin/virtualenv"
    virtualenv: "/home/{{whoami.stdout}}/.venv/{{item.env.virtualenv}}"
    requirements: "/home/{{whoami.stdout}}/git/{{item.env.requirements_txt}}"
    virtualenv_site_packages: yes
  when: req_stat.stat.exists

Upvotes: 0

shanwu
shanwu

Reputation: 1675

Try

python3 -m pip uninstall virtualenv

python3 -m pip install virtualenv

Upvotes: 14

Chirag Kalal
Chirag Kalal

Reputation: 708

Use pip3 instead of pip. I had the same issue and pip3 worked for me.

$ pip3 install virtualenv
$ virtualenv venv --python=python3

Upvotes: 13

petitchamp
petitchamp

Reputation: 55

I had the same problem when I created my virtualenv via pycharm and installed requirements with pycharm. After trail and error , I found that installed requirements are not taken into account by the virtualenv.

The solution is to reinstall all requirements once you have activated your virtualenv:

venv\scripts\activate

python -m pip install -r YourRequirements.txt

Next time I'd better create my virtualenv directly with command line

Upvotes: 0

Shuai Li
Shuai Li

Reputation: 2766

>virtualenv
ImportError: No module named 'virtualenv'
>pip uninstall virtualenv
PermissionError: [Errno 13] Permission denied:

>sudo pip uninstall virtualenv
Successfully uninstalled virtualenv-15.1.0
>pip install virtualenv
Collecting virtualenv

>virtualenv
Options:

Bingo!

Upvotes: 0

jozxyqk
jozxyqk

Reputation: 17266

I think the problem is you need sudo to globally install virtualenv.

> pip install virtualenv
Could not find an activated virtualenv (required).
> sudo pip install virtualenv
Downloading/unpacking virtualenv
...

But this creates files readable only by root (depending on the umask). In this case, uninstalling/reinstalling may not always help.

You can check with ls -la /usr/local/lib/python2.7/dist-packages/virtualenv.py (replacing 2.7 with whatever version you have or are targeting).

My solution was simply:

sudo chmod -R o+rX /usr/local/lib/python2.7

Upvotes: 12

Bailey Smith
Bailey Smith

Reputation: 2933

I had to install virtualenv with the -H flag to set HOME variable to target user's home dir.

sudo -H pip install virtualenv

Upvotes: 24

brousch
brousch

Reputation: 1072

I just ran into this same problem. I had to pip uninstall virtualenv as a user with admin rights, then pip install virtualenv as a normal user. I think it's some kind of permissions issue if you installed virtualenv under admin rights.

Upvotes: 5

Aurora
Aurora

Reputation: 1563

Install virtualenv using pip install virtualenv. If you have it already installed, try reinstalling it by removing it with pip uninstall virtualenv and then reinstalling it. Good Luck.

Upvotes: 135

Related Questions