Django CMS: Установка DjangoCMS 3.0

С последней моей установки DjangoCMS уже вышла новая версия, а я так и не разобрался со старой. Но если и начинать изучать что-то, то как минимум с новой версии, так как информация по старой как правила в скором времени будет совсем не нужна. В виду вышеизложенного, я решил повторить мою статью про установку DjangoCMS но у же с 3-й версией.

В процессе установки у меня возникла проблема с поддержкой JPEG в Pillow (который необходим djangocms). Этот скрипт ( check_jpeg_support.py ):

import urllib, cStringIO, PIL
from PIL import Image

try:
    url = "http://upload.wikimedia.org/wikipedia/commons/6/6f/Chaos_on_wikipedia.jpg"
    io = cStringIO.StringIO(urllib.urlopen(url).read())
    image = Image.open(io)
    size = 128, 128
    image.thumbnail(size)
    print("Success")
except IOError as e:
    print("Error: ", e)

в системе выполнялся корректно:

$ python check_jpeg_support.py
Success

Но вот в при создании virtualenv и установки Pillow:

$ virtualenv ~/pyenv/pil_jpeg
$ source ~/pyenv/pil_jpeg/bin/activate
(pil_jpeg)$ pip install Pillow
    ...
    --------------------------------------------------------------------
    PIL SETUP SUMMARY
    --------------------------------------------------------------------
    version      Pillow 2.5.3
    platform     linux2 2.7.6 (default, Mar 22 2014, 22:59:56)
                 [GCC 4.8.2]
    --------------------------------------------------------------------
    *** TKINTER support not available
    (Tcl/Tk 8.6 libraries needed)
    *** JPEG support not available
    *** OPENJPEG (JPEG2000) support not available
    --- ZLIB (PNG/ZIP) support available
    *** LIBTIFF support not available
    *** FREETYPE2 support not available
    *** LITTLECMS2 support not available
    *** WEBP support not available
    *** WEBPMUX support not available
    --------------------------------------------------------------------
    To add a missing option, make sure you have the required
    library, and set the corresponding ROOT variable in the
    setup.py script.
    ...

пишет, что нет поддержки JPEG формата и соответстунно при выполнении скритп, получаем:

$ python check_jpeg_support.py
('Error: ', IOError('decoder jpeg not available',))

Проблема, скорее всего ( основываясь на Pillow is not compiled with JPEG support - solution ), возникает из-за переноса всех 64-х битных библиотек в /usr/lib/x86_64-linux-gnu из /usr/lib, но я это не проверял, а просто взял Pillow системный при установке virtualenv:

$ virtualenv --system-site-packages ~/pyenv/djangocms3

Дальнейшие шаги будут аналогичны описанным в учебнике Installing django CMS from scratch

$ cd ~/pyenv/djangocms3
$ . bin/activate
(djangocms3)$ pip install djangocms-installer

Теперь создаем проект:

(djangocms3)$ mkdir -p ~/Projects/hi_cms
(djangocms3)$ cd ~/Projects/hi_cms/
(djangocms3)$ djangocms -p . hi_cms
Database configuration (in URL format) [default sqlite://localhost/project.db]:
django CMS version (choices: 2.4, 3.0, stable, develop) [default stable]: 3.0
Django version (choices: 1.4, 1.5, 1.6, stable) [default stable]: 1.6
Activate Django I18N / L10N setting (choices: yes, no) [default yes]:
Install and configure reversion support (choices: yes, no) [default yes]:
Languages to enable. Option can be provided multiple times, or as a comma separated list. Only language codes supported by Django can be used here: ru,en
Optional default time zone [default America/Chicago]: Europe/Moscow
Activate Django timezone support (choices: yes, no) [default yes]:
Activate CMS permission management (choices: yes, no) [default yes]:
Use Twitter Bootstrap Theme (choices: yes, no) [default no]:
Use custom template set [default no]:
Load a starting page with examples after installation. Choose "no" if you use a custom template set. (choices: yes, no) [default no]: yes
...
Username (leave blank to use 'sprit'):
Email address:
Password:
Password (again):
Superuser created successfully.
All done!
Get into '.' directory and type 'python manage.py runserver' to start your project

Ну, вот и все получаем в текущей директории кучу файлов:

(djangocms3)$ ls
hi_cms/  manage.py*  project.db  static/

Осталось запустить сервер:

(djangocms3)$ python manage.py runserver

И немножко побаловаться с админским интерфейсом перейдя на http://localhost:8000/admin/ .