Heroku错误在Virtual Env上安装PIL依赖

时间:2012-11-16 04:01:47

标签: python django heroku python-imaging-library

我在将我的Django应用程序推送到Heroku时遇到了问题。安装PIL时似乎有错误。我传统上有一个PIL b / c问题我在Windows上,所以使用pip install或easy_install不起作用,因为它找不到“vcvarsall.bat”

所以作为一个快速的解决方案,我去了this site并运行了.exe版本的PIL进行安装。我在将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 'git@heroku.com...'

如何通过PIL?

1 个答案:

答案 0 :(得分:4)

我记得pip发现PIL有这个问题。尝试在requirements.txt

中使用此行而不是PIL = 1.1.7

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

此外,您始终可以从requirements.txt中删除任何模块,并将其替换为Django根目录中的模块代码副本。

例如,使用PIL的东西,您可以使用该链接下载代码,解压缩它,并将生成的Imaging-1.1.7文件夹中的PIL粘贴到Django项目根目录中。会有同样的工作吗?

一般情况下,如果可能,您希望避免这种情况,因为它会增加代码部署的大小,但您可以这样做。它可以帮助您解决这些问题,这样您至少可以继续工作。

实际上可能更喜欢包含代码而不仅仅是使用requirements.txt的情况是,当您使用文档很少的库或模块时,您希望能够立即快速访问来自编辑器内部的源代码。可能不会在生产服务器上执行此操作,但对于dev非常方便。