2011-05-26 81 views
-4

我花了好幾個小時試圖解決這個問題。Ubuntu 11.04:將PIL安裝到帶有PIP的virtualenv中

我做到以下幾點:

sudo apt-get install python-dev 
sudo apt-get install libjpeg8-dev 
sudo apt-get install libfreetype6 libfreetype6-dev 
mkvirtualenv -p python2.7 --no-site-packages foobar 
pip install PIL 

每當我試着上傳我的Django-CMS網站上的圖像,我得到一個錯誤信息。

+2

你至少能做的就是發佈錯誤消息... – 2011-05-26 13:07:29

+0

的錯誤信息是:「上傳有效的圖片你上傳的文件。要麼不是圖像,要麼是損壞的圖像。「雖然OP沒有將此作爲問題,但這是一個常見問題。 – claymation 2012-07-04 02:15:41

回答

17

我在嘗試使用Django時遇到了同樣的問題& Virtualenv - 我無法上傳圖片,經過一些研究後,所有內容都指向了PIL。我確實嘗試重新安裝該軟件包,但即使上傳了所有必需的庫,PIL仍然不支持JPG和PNG。

似乎Ubuntu窺視決定移動庫的位置(根據此修復:http://ubuntuforums.org/showpost.php?p=10804763&postcount=2)。

我的解決辦法:

  1. 確保您已安裝的所有庫。

    命令和apt-get安裝的libjpeg-dev的的libjpeg62的libjpeg62-dev的的zlib1g-dev的libfreetype6 libfreetype6-dev的

  2. 安裝枕頭,這是國際私法的理智的包。

    PIP安裝枕頭(而在你的virtualenv)

+2

你是如何讓Django與枕頭而不是PIL一起工作的?我得到:「要使用ImageFields,您需要安裝PIL ..」 – 2012-01-17 11:38:53

+3

@Ron Cohen:這是一個替代品 - 只是一個稍微不同的PIL。 – stricjux 2012-01-19 16:57:22

+0

嘗試使用'apt-get'安裝庫時出現以下錯誤:'libjpeg-turbo8-dev:Conflicts:libjpeg62-dev but 6b1-2ubuntu1 is to be installed'。有任何想法嗎?我使用的Ubuntu 12.04 – 2012-06-21 19:24:44