2014-01-12 2 views
11

Я использую Django 1.3.7 и Python 2.7.6 на windows7 я получил сообщение об ошибке, когда я выполнения моего manage.py в этой строке кодаImportError: модуль не назвал virtualenv

import shutil, sys, virtualenv, subprocess 

AMD под управлением его , Я получил эту ошибку

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 

У кого-нибудь есть идея о моем случае?

+0

выглядит как Джанго 'manage.py' требует что 'virtualenv' установлен. Установили ли вы его? –

ответ

20

Установите virtualenv используя pip install virtualenv. Если у вас он уже установлен, попробуйте переустановить его, удалив его с помощью pip uninstall virtualenv, а затем переустановите его. Удачи.

+1

Это работало для меня на OS X с использованием MacPorts Python. Хотя MacPorts включает порты для 'virtualenv' и' virtualenvwrapper', они устарели. Таким образом, 'pip' в комплекте с' virtualenv' устарел, требуя деинсталляции MacPorts один и используя 'pip' для установки последнего' virtualenv'. Для получения дополнительной информации, для любых пользователей MacPorts, которые сталкиваются с той же проблемой, см. [Здесь] (http://stackoverflow.com/questions/17156912/how-to-force-virtualenv-to-install-latest-setuptools-and-pip -из-PyPI). –

+0

На ubuntu я заметил, что даже pip install vitualenv является успешным, когда я выполняю команду для его создания, он продолжает говорить, что нет виртуального установленного и предлагающего использовать apt для установки. Должен ли я попробовать? – Shad

+0

Также найдено, что у меня есть дочерний/usr/local/bin/virtualenv бинарный файл, который не удалялся бы с помощью удаления pp, так что sudo rm -f на этом трюк, а затем обычная установка пользователя и, наконец, заставила работать , –

3

Я просто столкнулся с этой проблемой. Я должен был pip uninstall virtualenv как пользователь с правами администратора, затем pip install virtualenv как обычный пользователь. Я думаю, что это какие-то проблемы с разрешениями, если вы установили virtualenv в соответствии с правами администратора.

6

Мне пришлось установить virtualenv с флагом -H, чтобы установить переменную HOME для целевой домашней директории пользователя.

sudo -H pip install virtualenv

4

Я думаю, что проблема в том, что вам нужно sudo глобально установить virtualenv.

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

Но это создает файлы, доступные для чтения только от root (в зависимости от umask). В этом случае удаление/переустановка может не всегда помогать.

Вы можете проверить с помощью ls -la /usr/local/lib/python2.7/dist-packages/virtualenv.py (заменяя 2.7 любой версией, которую вы имеете или нацеливаете).

Мое решение было просто:

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

Это исправление. – BMW

+0

Это то, что мне нужно – lsund

+0

Это сработало для меня. В моем случае 'virtualenv' был установлен как root; но недоступный другому непривилегированному пользователю – oarevalo

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

Бинго!

0

У меня была такая же проблема, когда я создал свой virtualenv через pycharm и установил требования с pycharm. После следа и ошибок я обнаружил, что установленные требования не учитываются виртуальным пользователем.

Решения переустановить все требования, как только вы активировали virtualenv:

venv\scripts\activate

python -m pip install -r YourRequirements.txt

В следующий раз я бы лучше создать свой virtualenv непосредственно с командной строкой

Смежные вопросы