2012-07-27 22 views
6

ve PIL 1.1.7'u virtualenv ile yönetiyorum pip ile yönetiliyor. gerçek konumu /usr/lib/i386-linux-gnu/ iken Upload a valid image. The file you uploaded was either not an image or a corrupted image.PIL JPEG desteğini tanımak için Django'yu alma

Birçok Ubuntu kullanıcıları bildirmiştir, yüklemesinde, PIL erronously, libjpeg için /usr/lib/ baktım: Ben yönetici arayüzü üzerinden bir JPEG dosyası yüklemek zaman, aşağıdaki hatayı alıyorum. Bu halledildi; aşağıdaki gibi

Django ImageField "Upload a valid image. The file you uploaded was either not an image or a corrupted image."

Why can't I upload jpg files to my Django app via admin/?

Şimdi tesisatın son çıkış arar: Ancak


PIL 1.1.7 SETUP SUMMARY 
-------------------------------------------------------------------- 
version  1.1.7 
platform  linux2 2.7.3 (default, Apr 20 2012, 22:44:07) 
       [GCC 4.6.3] 
-------------------------------------------------------------------- 
--- TKINTER support available 
--- JPEG support available 
--- ZLIB (PNG/ZIP) support available 
--- FREETYPE2 support available 
*** LITTLECMS 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. 

To check the build, run the selftest.py script. 
changing mode of build/scripts-2.7/pilfile.py from 644 to 755 
changing mode of build/scripts-2.7/pilfont.py from 644 to 755 
changing mode of build/scripts-2.7/pilconvert.py from 644 to 755 
changing mode of build/scripts-2.7/pilprint.py from 644 to 755 
changing mode of build/scripts-2.7/pildriver.py from 644 to 755 

changing mode of /usr/local/bin/pilfile.py to 755 
changing mode of /usr/local/bin/pilfont.py to 755 
changing mode of /usr/local/bin/pilconvert.py to 755 
changing mode of /usr/local/bin/pilprint.py to 755 
changing mode of /usr/local/bin/pildriver.py to 755 
Successfully installed PIL 

, Django hala bu mesajların cevapları takip doesn Bu proje için kabul edilemez olan BMP dosyalarını bir şey yüklememe izin ver. İkinci bağlantıdaki kullanıcının aksine Apache kullanmıyorum, bu yüzden benim problemim muhtemelen alakalı değil. Şüphem, Django'nun hala eski bir PIL kurulumu olduğunu gösteriyor. Sorun şu ki nereden gelebileceğini bilmiyorum. ~/.virtualenvs/project/local/lib/python2.7/site-packages'daki dosyalar güncel görünüyor. Herhangi bir fikir?

DÜZENLEME 1: Bütün bu olanlar yüzünden benim hatam olduğunu Uploading a JPEG image via Django displays error

+0

PIL yerine [Yastık] (http://pypi.python.org/pypi/Pillow) yüklemeyi denediniz mi? Sys.path'ini kontrol et – jterrace

+0

Modelinizi yükler misiniz? – nicowernli

+0

@jterrace: Evet. Ve bu kurulum ayrıca bana JPEG desteğinin mevcut olduğunu söyledi. – novembrine

cevap

2

Bu çıkıyor: Ayrıca ben çıkış yaptıktan ve yönetici tekrar giriş, hem de bu yazı gibi pillow yüklemeden denedim unutmayın pip'un aslında nasıl çalıştığıyla ilgili bir yanlış anlaşılma. Alışkanlık olarak, tüm kurulumları süper kullanıcı ayrıcalıklarıyla ilişkilendiririm, ki bu sadece bu durumda gerekli değildi, aynı zamanda karışıklık için bir reçete.

PIL'u ilk kez yükledim, sudo ile önek vermedim, ancak her defasında yaptım. Böylece, Meitham'ın tavsiyesinden yola çıkarak, ithalatın nereden geldiğini kontrol ettim. Doğru yerden geldi, ancak yaptığım yükleme sonrası çıktısına rağmen istediğim uzantıları yoktu. Uzun lafın kısası, site-pack'leri dizinden kaldırdım, o zaman pip freeze bana PIL yoktu ama sudo pip install bana anlattığımı söyledi.

Dersi öğrendim: virtualenv, kullanıcının dizininde, kullanıcının ayrıcalıklarına dayanmaktadır. aynı komutta sudo ve pip birleştirmeden önce iki kez düşünün.