运行django cms演示页时出错

运行django cms演示页时出错,django,ubuntu-12.04,pip,django-cms,pillow,Django,Ubuntu 12.04,Pip,Django Cms,Pillow,我尝试了安装django cms的所有过程,之后当我尝试运行演示页面时,我得到了以下错误 (djvenv2)shan@shan:~/workspace/projects/djvenv$ pip freeze Django==1.6.2 PIL==1.1.7 Pillow==2.4.0 South==0.8.4 argparse==1.2.1 dj-database-url==0.3.0 django-classy-tags==0.5.1 django-cms==3.0 django-mptt==

我尝试了安装django cms的所有过程,之后当我尝试运行演示页面时,我得到了以下错误

(djvenv2)shan@shan:~/workspace/projects/djvenv$ pip freeze
Django==1.6.2
PIL==1.1.7
Pillow==2.4.0
South==0.8.4
argparse==1.2.1
dj-database-url==0.3.0
django-classy-tags==0.5.1
django-cms==3.0
django-mptt==0.6.0
django-sekizai==0.7
djangocms-admin-style==0.2.2
djangocms-installer==0.4.1
html5lib==0.999
six==1.6.1
wsgiref==0.1.2

(djvenv2)shan@shan:~/workspace/projects/djvenv$ djangocms -p . my_demo
Database configuration (in URL format) [default sqlite://localhost/project.db]:
django CMS version (choices: 2.4, 3.0, stable, develop) [default stable]:
Django version (choices: 1.4, 1.5, 1.6, stable) [default 1.5]:
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: en
Optional default time zone [default America/Chicago]:
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]: yes
Load a starting page with examples after installation (choices: yes, no) [default no]: yes
INFO: Starting new HTTPS connection (1): pypi.python.org
Traceback (most recent call last):
  File "/home/shan/workspace/venv/djvenv2/bin/djangocms", line 9, in <module>
    load_entry_point('djangocms-installer==0.4.1', 'console_scripts', 'djangocms')()
  File "/home/shan/workspace/venv/djvenv2/local/lib/python2.7/site-packages/djangocms_installer/main.py", line 24, in execute
    install.check_install(config_data)
  File "/home/shan/workspace/venv/djvenv2/local/lib/python2.7/site-packages/djangocms_installer/install/__init__.py", line 52, in check_install
    raise EnvironmentError("\n".join(errors))
EnvironmentError: Pillow is not compiled with JPEG support, see 'Libraries installation issues' documentation section.
(djvenv2)shan@shan:~/workspace/projects/djvenv$pip freeze
Django==1.6.2
PIL==1.1.7
枕头==2.4.0
南==0.8.4
argparse==1.2.1
dj数据库url==0.3.0
django classy标记==0.5.1
django cms==3.0
django mptt==0.6.0
django sekizai==0.7
djangocms管理风格==0.2.2
djangocms安装程序==0.4.1
html5lib==0.999
六=1.6.1
wsgiref==0.1.2
(djvenv2)shan@shan:~/workspace/projects/djvenv$djangocms-p。我的小样
数据库配置(URL格式)[默认值]sqlite://localhost/project.db]:
django CMS版本(选项:2.4、3.0、稳定、开发)[默认稳定]:
Django版本(选项:1.4、1.5、1.6、稳定)[默认值1.5]:
激活Django I18N/L10N设置(选项:是,否)[默认是]:
安装和配置恢复支持(选项:是,否)[默认是]:
要启用的语言。选项可以多次提供,或作为逗号分隔的列表提供:en
可选默认时区[默认美国/芝加哥]:
激活Django时区支持(选项:是,否)[默认是]:
激活CMS权限管理(选项:是,否)[默认是]:
使用Twitter引导主题(选项:是,否)[默认否]:是
安装后加载包含示例的起始页(选项:是,否)[默认否]:是
信息:启动新的HTTPS连接(1):pypi.python.org
回溯(最近一次呼叫最后一次):
文件“/home/shan/workspace/venv/djvenv2/bin/djangocms”,第9行,在
加载入口点('djangocms-installer==0.4.1','console_脚本','djangocms')()
文件“/home/shan/workspace/venv/djvenv2/local/lib/python2.7/site packages/djangocms_installer/main.py”,执行中的第24行
安装。检查安装(配置数据)
文件“/home/shan/workspace/venv/djvenv2/local/lib/python2.7/site packages/djangocms_installer/install/_init__.py”,第52行,检查安装
raise环境错误(“\n”.join(错误))
环境错误:Pillow未使用JPEG支持编译,请参阅“库安装问题”文档部分。

为枕头添加JPEG支持,在Ubuntu中,您可以执行以下操作:

sudo apt-get install libjpeg-dev libfreetype6-dev zlib1g-dev

# Link the libraries for Pillow to find them:

sudo ln -s /usr/lib/`uname -i`-linux-gnu/libfreetype.so /usr/lib/
sudo ln -s /usr/lib/`uname -i`-linux-gnu/libjpeg.so /usr/lib/
sudo ln -s /usr/lib/`uname -i`-linux-gnu/libz.so /usr/lib/

# reinstall Pillow (In case you have Pillow already installed)
pip install --upgrade --force-reinstall pillow

我在我的BitNami LAMP虚拟机下也遇到了同样的问题,但无法通过链接枕头丢失的文件来解决。最后,我解决了这个问题:

首先,找到lib

(venv)...$ find 2>/dev/null / -name libz.so
/opt/bitnami/common/lib/libz.so
现在将lib目录添加到pip中

(venv)...$ pip install --global-option=build_ext --global-option="-L/opt/bitnami/common/lib" --global-option="-I/opt/bitnami/common/include" --upgrade --force-reinstall pillow
它的工作原理是:

--------------------------------------------------------------------
PIL SETUP SUMMARY
--------------------------------------------------------------------
version      Pillow 2.7.0
platform     linux2 2.7.6 (default, Mar 22 2014, 22:59:56)
             [GCC 4.8.2]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
*** OPENJPEG (JPEG2000) support not available
--- ZLIB (PNG/ZIP) support available
--- LIBTIFF support available
--- FREETYPE2 support available
*** LITTLECMS2 support not available
*** WEBP support not available
*** WEBPMUX support not available
--------------------------------------------------------------------

另请参见安装所需的LIB:

然后在virtualenv中卸载并重新安装枕头

pip uninstall Pillow
pip install --no-cache-dir Pillow

实际上,我发现这里选择的解决方案非常有用。我还发现djangcms安装程序需要一个特定版本的Pillow,这导致无论出于何种原因,它都无法获取JPEG模块。在撰写本文时,它想要
piddle==2.8.0
,但安装的
pip--upgrade
的最新版本是2.9.x。我运行了
pip安装--无缓存目录--升级--强制重新安装pillow==2.8.0
,这似乎满足了djangocms安装程序的要求,因此它将保持JPEG兼容性

您可以通过在virtualenv中打开python shell来验证是否安装了JPEG支持

from PIL import Image

i = Image.open('/path/to/a.jpg')
i.load()
如果没有JPEG支持,您将获得加载图像的句柄或异常

因此,pip成功地安装了一个支持JPEG的枕头包,但我一运行djangocms安装程序,它就用一个不支持JPEG的枕头包取代了它。您需要匹配djangocms安装程序想要的枕头版本。我不知道该配置在哪里,但在安装失败后,您可以通过
pip freeze
pip list
找到它


希望这对某人有所帮助。

在跟踪之后,它仍然会在pil和jpeg方面抛出相同的错误…因此我卸载了pip枕头,再次安装了pip枕头…这解决了问题Hello。此命令使用的是centos用户只需安装libjpeg-turbo-devel-libpng-devel-zlib-devel@lawrencesouza的sudo-pip安装--upgrade-pick。我要做的是移除~/.cache/pil/…中的枕头内置/