2016-06-04 1 views
0

я установил virtualenvПроблемы с установкой Django с Python3

sudo pip3 install virtualenv 

Затем создается новый virtualenv

virtualenv --python=/usr/bin/python3.5 venv

Он вернулся

Running virtualenv with interpreter /usr/bin/python3.5 
Using base prefix '/usr' 
New python executable in /home/alexandra/Documents/online-store/venv/bin/python3.5 
Also creating executable in /home/alexandra/Documents/online-store/venv/bin/python 
Installing setuptools, pip, wheel...done. 

Активированный его

source venv/bin/activate 

Затем установили Django

sudo pip3 install django 

Он установлен там (то есть то, что sudo pip3 install django --upgrade вернулся)

/usr/local/lib/python3.4/dist-packages 

Может быть, это проблема? Потому что он установлен в python3.4, а не python3.5. Но как установить Django в python3.5?

В файле manage.py есть путь к python3.5 в этом виртуальном пространстве.

Тогда я бегу

python manage.py runserver 

возвращает ошибку

Traceback (most recent call last): 
    File "manage.py", line 8, in <module> 
    from django.core.management import execute_from_command_line 
ImportError: No module named 'django' 

Может кто-нибудь мне помочь?

+0

Не используйте 'sudo' для создания виртуальной среды; у вас будут всевозможные проблемы. –

ответ

3

При использовании папок для установки пакетов внутри виртуального env, не судо. Он позволяет устанавливать пакеты по всему миру. Просто удалите sudo с начала команды, и он должен установить его в venv, в котором вы сейчас работаете.

+0

Спасибо! Это действительно помогло! –

0

Вы установили django в системный python 3.4.

Когда вы запускали команду установки в первый раз без sudo, она жаловалась на разрешения? Это должно было быть вашим догадком о том, что это не так. pip. Моя догадка pip3 существует только в системном python, а не в вашем virtualenv. Вы можете использовать which, чтобы выяснить, но это будет работать в любом случае:

venv/bin/pip install django 
0

Не делать sudo и просто использовать pip для установки всех пакетов. Вы уже установили python3 в свой virtualenv, поэтому нет необходимости использовать pip3. Просто сделайте, например. pip install django. или для других пакетов pip install <package_name>