Я установил Django с помощью этой команды:
sudo apt-get install python-django
И он установил версию 1.5.4-1ubuntu1. Документы Django говорят, что с версии 1.5 Django поддерживает Python 3. Однако когда я запускаю интерпретатор python 3 и пытаюсь импортировать Django, он говорит, что такого модуля нет. Я попытался найти версию Django для python3, но такой пакет не существует. Как я могу запустить django на python3? Я предпочел бы использовать пакеты ubuntu вместо того, чтобы устанавливать вещи вручную.
Я настоятельно рекомендую избегать pip3 устанавливать вещи в системных сайтах-пакетах. Я уже делал эти аргументы, но я дам вам примечания:
Обновления системы ломают все. Установка apt-пакетов может перезаписывать объекты, установленные в протоколе. Конфликты версий. Распространение обновлений - непредсказуемый хаос. Шутки в сторону. Я потерял для них волосы.Я бы решительно выступал за использование virtualenv. Это огромная боль в том, где бы вы ни пошли, но как только вы ее настроите, у вас есть полная среда Python под вашим полным контролем. Это означает больше работы (вам нужно будет проверить что-то для обновлений, а pip пока что не помогает), но вам не нужно беспокоиться о том, что делает Ubuntu.
У меня есть для каждого сайта (просто сидя в подкаталоге под названием venv). Некоторые люди, включая меня, когда-то, предпочитают делиться своей средой между несколькими сайтами. Я нашел, что это легче поддерживать с точки зрения выпуска обновлений, но некоторые сайты могут быть хрупкими или требуют старых версий, и это возвращает всю среду. YMMV.
С точки зрения установки этого и просто для того, чтобы ударить меня по лицу, virtualenv не упакован для Python 3, но мы должны использовать pip3:
Теперь ваш bash PS1 должен быть обработан (myenv), чтобы вы знали, что находитесь в другой среде. Мы можем протестировать среду, чтобы проверить, что мы находимся на правильных версиях (не используя системные версии для стартеров):
$ python --version
Python 3.3.2+
$ which python pip
/home/oli/Desktop/myenv/bin/python
/home/oli/Desktop/myenv/bin/pip
И тогда вы можете просто продолжать, как если бы вы были мастером вселенная. Вам больше не нужен root, чтобы использовать pip, и вам не нужно указывать pip3.
$ pip install django umemcache
...
Если вы используете что-то вроде uwsgi для размещения этого (вы должны) использовать его флаг -H (или аргумент home config), чтобы сообщить ему, где Среда Python живет.
Что касается упрощения разработки, вы можете автоматически «установить» среду virtualenv. Существует много сценариев, но это мое (это живет внизу моего ~/.bashrc:
export VENVDIR="/web"
export VENVDIR_VENV="$VENVDIR/venv"
venvcd() {
wd=$(pwd)
[[ $wd == $VENVDIR/* || $wd == $VENVDIR ]] && wasin=true || unset wasin
builtin cd "$@"
wd=$(pwd)
if [[ $wd == $VENVDIR/* || $wd == $VENVDIR ]]; then
source $VENVDIR_VENV/bin/activate
else
[ $wasin ] && deactivate
fi
}
alias cd="venvcd"
cd .
Всякий раз, когда я cd в /web (где хранятся все мои сайты разработки ), он монтирует virtualenv для меня. Обратите внимание, что у меня есть только одна среда для всех моих сайтов, поэтому она будет только сгруппировать вас, если вы сделаете что-то подобное. До эти аргументы до .
Ребята есть простой способ использовать virtualenvwrapper, на сегодняшний день самый простой способ управлять виртуальными средами Python 2.7 / 3.x в Ubuntu / Debian.
$ sudo apt-get install python3 virtualenvwrapper
$ mkvirtualenv <venv> -p python3
$ workon <venv> # sets into the virtualenv from any terminal.
Опционально включить --system-site-packages для повторного использования глобальных сайтов. virtualenvwrapper устанавливает пип и другие инструменты настройки python, чтобы помочь нам быстро начать работу.
$ pip install Django
$ pip install -r requirements.txt
Django для Python3 теперь добавлен. Поэтому просто введите терминал:
apt-get install python3-django