Я установил 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
установки вещей в системные пакеты сайта. Я привел эти аргументы до , но я дам вам примечания:
Я бы настоятельно рекомендовал использовать virtualenv
. Это огромная боль в том, чтобы начать работу, но как только вы ее настроите, у вас будет полная среда Python под вашим полным контролем. Это означает больше работы (вам придется проверять наличие обновлений, а pip
пока не очень помогает), но вам не нужно беспокоиться о том, что делает Ubuntu.
У меня есть среда для каждого сайта (я просто нахожусь в подкаталоге с именем venv
). Некоторые люди, включая меня, когда-то давно, предпочитают делить свою среду между несколькими сайтами. Я обнаружил, что это проще поддерживать с точки зрения выпуска обновлений, но некоторые сайты могут быть хрупкими или требовать старых версий, и это сдерживает всю среду. YMMV.
С точки зрения установки этого, и просто чтобы дать мне пощечину, virtualenv
еще не упакован для Python 3, поэтому мы должны использовать pip3
:
$ sudo pip3 install virtualenv
...
$ virtualenv-3.3 myenv
Using base prefix '/usr'
New python executable in myenv/bin/python3
Also creating executable in myenv/bin/python
Installing setuptools, pip...done.
$ source myenv/bin/activate # This is important!
Ваш 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 для меня. Обратите внимание, что у меня есть только одна среда для всех моих сайтов, так что это подойдет вам, только если вы сделаете что-то подобное. Есть много других способов сделать подобные вещи .
Я понял, как это сделать с pip
. Оказывается, мне нужно pip3
:
sudo pip3 install Django
сделали свое дело.
Возможно, вам понадобится получить pip3:
sudo apt-get install python3-pip
Django для Python3 был добавлен недавно. Просто введите в терминал:
apt-get install python3-django
Ребята, есть простой способ использовать 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
повторно использовать пакеты глобального сайта.
virtualenv устанавливает pip и другие инструменты настройки python, чтобы помочь нам быстрее начать работу.
$ pip install Django
$ pip install -r requirements.txt