Как установить Django для Python 3.x?

Я установил 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 вместо того, чтобы устанавливать вещи вручную.

1
задан 7 January 2014 в 00:59

3 ответа

Я настоятельно рекомендую избегать 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 для меня. Обратите внимание, что у меня есть только одна среда для всех моих сайтов, поэтому она будет только сгруппировать вас, если вы сделаете что-то подобное. До эти аргументы до .

31
ответ дан 24 May 2018 в 13:18

Ребята есть простой способ использовать 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
3
ответ дан 24 May 2018 в 13:18

Django для Python3 теперь добавлен. Поэтому просто введите терминал:

apt-get install python3-django

2
ответ дан 24 May 2018 в 13:18
  • 1
  • 2
    Он не доступен для Ubuntu 14.04 Trusty Tahr. – Anwar 28 February 2015 в 22:22
  • 3
    Я не предлагаю использовать system-repos django. Если будет обновление, некоторые функции, которые вы используете, могут не работать после обновления. Лучше использовать подход virtual-env, как показано выше. – 0xAffe 27 October 2015 в 12:38
  • 4
    Я нахожусь на последнем Debian (8, обновляется), а Django 1.7.11 (это EOL!) - это последняя версия, доступная в репозиториях. Похоже, у Ubuntu есть поддерживаемая версия (1.8.7.) Интересно, почему Debian так отстает? – Hydraxan14 29 December 2016 в 21:05

Другие вопросы по тегам:

Похожие вопросы: