【问题标题】:Symlinking PIL from site packages on Snow Leopard to a virtualenv with no-site-packages not working将 PIL 从 Snow Leopard 上的站点包符号链接到没有站点包不起作用的 virtualenv
【发布时间】: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


【解决方案1】:

安装开发库(jpeg、zip 等),然后使用 virtualenv(根据需要添加 setuptools 或 pip)将 PIL 安装到 virtualenv 本身中。

【讨论】:

    猜你喜欢
    • 2010-09-19
    • 1970-01-01
    • 2016-02-20
    • 2011-03-29
    • 1970-01-01
    • 2011-03-14
    • 1970-01-01
    • 2011-06-07
    • 2010-12-10
    相关资源
    最近更新 更多