【发布时间】:2011-08-31 15:57:07
【问题描述】:
我有一个带有--no-site-packages 的 virtualenv,并且在 virtualenv 中安装 PIL 时遇到各种问题。全球 PIL 工作正常。我试图通过符号链接到全球站点包中的 PIL 来使其工作,我知道这是可行的。我试过了:
ln -s /Library/Python/2.6/site-packages/PIL ~/my_virtualenv/lib/python2.6/site-packages/PIL
当我尝试从 Python 中 import PIL 时,效果很好。但是我不能运行import Image,但这适用于系统 Python。我也尝试只复制目录批发,但也没有骰子。
关于如何调试它的任何想法? PIL如何将Image导出到全局“模块空间”?
更新:感谢@Sentinel 的坚持,我能够解决这个问题。在安装 PIL 时检查跟踪,我注意到一堆这样的行:
ld: warning: in /opt/local/lib/libjpeg.dylib, missing required architecture ppc in file
ld: warning: in /opt/local/lib/libz.dylib, missing required architecture ppc in file
这些实际上是剩下的所有错误,但最初还有其他人抱怨我没有用于 i386 或 x64 架构的 libjpeg。所以我备份了,删除了我安装到/usr/local/lib 的libjpeg,只使用了macports 来安装通用二进制文件(基本上按照http://passingcuriosity.com/2009/installing-pil-on-mac-os-x-leopard/ 的说明进行操作)。确定这是导致问题的原因,libjpeg 没有针对我需要的架构进行编译。之后,我安装了 Imaging 库,然后一切正常——不需要符号链接。现在我可以不用再考虑这些了,即使花了 4 个小时才弄清楚。 :)
【问题讨论】:
-
“安装PIL的各种问题”是什么意思?
-
符号链接到 virtualenv 环境是可怕的。
-
为什么要在这里投赞成票?这里的符号链接既奇怪又可怕
-
@Sentinel 我尝试在 virtualenv 中使用
pip install PIL安装 PIL,但最终出现“找不到符号:_jpeg_resync_to_restart”之类的错误。我浏览了十几个不同的帖子并尝试了很多方法来解决这个问题,但没有运气。我只是想让这个添加运行。他们建议在这里进行符号链接:groups.google.com/group/python-virtualenv/browse_thread/thread/…。我会很好地复制整个目录来让它工作,因为我在这上面浪费了很多时间。 -
完整的追溯请尝试解决真正的问题,而不是构建肮脏的解决方法。
标签: python python-imaging-library virtualenv