2012-11-16 78 views
1

我在將Django應用程序推送到Heroku時出現問題。安裝PIL似乎有錯誤。我傳統上遇到PIL b/c問題,我在Windows上,所以使用pip install或easy_install無法正常工作,因爲找不到「vcvarsall.bat」安裝PIL依賴於虛擬環境的Heroku錯誤

因此,作爲一種快速解決方案,我去了this site並跑了安裝PIL的.exe版本。我只好讓PIL問題到我的虛擬環境,從而創建虛擬環境時,我用這個

virtualenv --system-site-packages venv 

現在我使用

git push heroku master 

和我得到這個回

Downloading/unpacking PIL==1.1.7 (from -r requirements.txt) 
Could not find any downloads that satisfy the requirement PIL==1.1.7 (line 2)) 
... 
Heroku push rejected, failed to compile Python/Django app 
! [remote rejected] m aster -> master (pre-receive hook declined) 
error: failed to push some refs to '[email protected]' 

我怎樣才能過去PIL?

回答

4

我記得有這個問題與PIP找到PIL。嘗試在requirements.txt使用該行,而不是PIL = 1.1.7

http://effbot.org/media/downloads/Imaging-1.1.7.tar.gz

此外,你可以隨時從requirements.txt移除任何模塊,並與你的Django根模塊代碼的副本替換它。

例如,使用PIL的東西,您可以使用該鏈接下載代碼,解壓縮代碼,並將PIL粘貼到您的Django項目根目錄下的Imaging-1.1.7文件夾中。會一直工作。

一般而言,如果可能,您希望避免這種情況,因爲它會增加代碼部署的大小,但您可以這樣做。它會幫助你解決這些問題,所以你至少可以繼續工作。

實際上可能最好包含代碼而不是僅使用requirements.txt的一種情況是,當您使用的文檔不完整的庫或模塊工作時,如果您想立即快速訪問編輯器內部的源代碼。可能不會在生產服務器上執行,但對於可能非常方便的dev。

+0

謝謝。對django-storage和pypm有同樣的問題 - 有什麼想法? –

+0

和pywin32?被requirements.txt摧毀 –

+0

編輯我的回答以迴應你的問題 –