2017-02-23 68 views
0

Я пытаюсь развернуть свои проекты Django на Amazon AWS, используя Ubuntu 16.04. Я запускаю python версии 2.7.12 и Django 1.10.5. Я создал свой virtualenv по имени venv, а затем активировал его. Я получаю эту ошибку, когда пытаюсь запустить python manage.py runningerver.не удалось импортировать django в virtualenv, но работает при деактивации

Traceback (most recent call last): File "manage.py", line 17, in "Couldn't import Django. Are you sure it's installed and " ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

Тогда я понимаю, что Django может быть не в моем пути python. Поэтому я добавил

export PYTHONPATH="/usr/local/lib/python2.7/dist-packages/django"

в мой сценарий venv/bin/activate. Теперь активизировано virtualenv я могу пойти в питон и введите

import sys
sys.path
['', '/usr/local/lib/python2.7/dist-packages/django', '/home/ubuntu/TravelBuddy/venv/lib/python2.7', '/home/ubuntu/TravelBuddy/venv/lib/python2.7/plat-x86_64-linux-gnu', '/home/ubuntu/TravelBuddy/venv/lib/python2.7/lib-tk', '/home/ubuntu/TravelBuddy/venv/lib/python2.7/lib-old', '/home/ubuntu/TravelBuddy/venv/lib/python2.7/lib-dynload', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/home/ubuntu/TravelBuddy/venv/local/lib/python2.7/site-packages', '/home/ubuntu/TravelBuddy/venv/lib/python2.7/site-packages']

Как вы можете видеть теперь Джанго действительно в моем питона пути. Я думал, что это исправит проблему, но это не так: она по-прежнему говорит, что не может импортировать Django. Теперь я смущен, потому что, когда я деактивирую свой virtualenv и импортирую Django, он работает.

это то, что печатает, когда я отключить мой virtualenv и сделать sys.path

['', '/usr/local/lib/python2.7/dist-packages/django', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']

+2

Вы установили Django внутри виртуальный окр, а не просто добавить его в пути? – Neelik

+0

@Neelik Да, я установил Django внутри виртуального env – ethan93

+0

В моих виртуальных средах, которые у меня есть на сервере, все пакеты находятся в каталоге site-packages. Я заметил, что у вас есть путь для django, который указан как «/usr/local/lib/python2.7/dist-packages/django» в вашем примере, когда venv активирован. В списке также есть «/home/ubuntu/TravelBuddy/venv/lib/python2.7/site-packages». Что произойдет, если вы переместите Django в каталог сайтов и попытаетесь его импортировать? – Neelik

ответ

0

хорошо я узнал, что проблема была. Оказывается, когда я начал свой virtualenv, я использовал команду sudo, но когда я пытаюсь установить мои пакеты, я не использовал команду sudo, которая вызвала проблему разрешения или какой-то при установке пакетов. Таким образом, django не появлялся на пути. При запуске виртуального окр никогда не использовать команду Суда ...

1

1- установить python3 brew install python3 2- установить Джанго pip3 install django