在Windows上使用虚拟环境中的Python图像库

10 投票
3 回答
2344 浏览
提问于 2025-04-16 01:01

我正在尝试在我创建的虚拟环境中安装PIL库。

通常安装PIL库时,我会直接下载安装包,但这次我只能选择我的根Python文件夹(C:/Python26),而不能选择我的虚拟环境。

我试过用命令pip install PIL和easy_install PIP,但都没有成功。我还尝试下载TAR文件,解压后运行setup.py install。

不过,Django还是不接受我包含ImageField()的模型。有没有人能提供解决办法?

下面是一个常见的错误信息:

Unable to find vcvarsall.bat

编辑:

好的,我尝试了一个新的虚拟环境,并使用easy_install,这次没有出现编译错误。

然后我打开了Python命令行,成功导入了PIL_imaging,但是当我在Django中使用ImageField()时,我的模型还是无法通过验证。

3 个回答

0

你安装了最新版本的Visual Studio吗?

这个vcvarsall.bat文件就是从这里来的,它是用来在Windows上从C源代码构建任何Python扩展时最常用的工具(如果你遇到的问题是用mingw,其实也有其他方法可以解决)。

我提到“最新版本”,是因为我认为python.org提供的Windows版Python 2.6就是用这个版本构建的。

6

把文件名从 PIL-1.1.7-py2.6-win32.egg 改成 PIL,放到 site-packages 文件夹里。

4

好的,这看起来是个虚拟环境的问题。

尽管我用 --no-site-packages 参数创建了一个新的虚拟环境,但我的 Django 网站却从根目录的安装位置 C:/Python26/Lib/site-packages/ 获取 Django 文件,而不是从本地获取。

然后,Django 尝试在根目录的 site-packages 中寻找 PIL,但找不到,结果就出现了错误。

我不知道为什么会这样。如果我打开 Python 解释器,根目录的 Django 文件并没有出现在路径中。

一旦解决了这个问题,运行 easy_install PIL 应该就能正常工作了。

撰写回答