解决win64 Python下安装PIL出错问题(图解)

下面就来详细讲解“解决win64Python下安装PIL出错问题(图解)”的完整攻略。

问题描述

在windows64位系统下安装Python Imaging Library(PIL)时,可能会遇到以下错误提示:

Unable to find vcvarsall.bat

或者

lipo: can't open input file: /var/folders/...

这是由于在win64系统中没有安装相关编译工具导致的。

解决方案

方案一:使用pillow代替PIL

Pillow是PIL的一个分支,支持最新的python版本,并且更新较频繁,建议使用Pillow代替PIL。

在命令行中运行以下安装命令:

pip install pillow

方案二:手动安装PIL

如果一定要使用PIL,可以手动安装,步骤如下:

步骤一:下载PIL源码包

从官方网站http://www.pythonware.com/products/pil/ 下载对应版本的源码包。

步骤二:解压源码包

使用解压软件将下载好的源码包解压到本地,比如解压到D:\python\PIL下。

步骤三:安装依赖库

安装需要的依赖库,如jpeg、zlib等,在这里以jpeg为例:

下载jpeg源码包,并解压到D:\python\jpeg下,然后将D:\python\jpeg\jpeg-9d\makefile文件中的LIBDIR改为LIBDIR = D:\python\jpeg\jpeg-9d改后的makefile的内容如下(以Windows为例):

prefix = /usr/local
exec_prefix = $(prefix)
includedir = $(prefix)/include
libdir = D:\python\jpeg\jpeg-9d
mandir = $(prefix)/man

[...]

在命令行中进入D:\python\jpeg\jpeg-9d,执行以下命令:

nmake /f makefile.vc setup-v10
nmake /f makefile.vc

执行完以上命令后,会生成两个文件libjpeg.lib和libjpeg.dll,将这两个文件复制到D:\python\PIL文件夹下。

步骤四:安装PIL

在命令行中进入解压后的PIL源码目录,执行以下命令:

python setup.py install

执行完以上命令后,PIL就安装成功了。

具体的安装步骤可以参考以下两篇示例说明:

示例一:How to install Python Image Library on Windows

示例二:Python3 + Windows 10安装 PIL 图片处理库

总结

以上就是解决win64Python下安装PIL出错问题的完整攻略。其中,使用Pillow代替PIL是更为简单的解决方案,如果一定要使用PIL,则需要手动安装相关依赖库,步骤较为繁琐。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决win64 Python下安装PIL出错问题(图解) - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • python 如何读、写、解析CSV文件

    在Python中,可以使用内置的csv模块来读取、写入和解析CSV文件。以下是读取、写入和解析CSV文件的详细攻略: 读取CSV文件 要读取CSV文件,可以使用csv模块的reader()函数。以下是读取CSV文件的示例: import csv with open(‘data.csv’, newline=”) as f: reader = csv.read…

    python 2023年5月14日
    00
  • 详解Python Socket网络编程

    详解Python Socket网络编程 什么是Socket Socket是网络编程中的一个概念,它指的是一组用于网络通信的API。我们可以用Socket在网络上发送数据和接收数据。 在Python中,我们可以使用socket模块来创建和操作Socket。socket模块提供了一个类来表示一个网络套接字socket对象。 Socket的工作原理 Socket通…

    python 2023年6月3日
    00
  • 具有两个优先级 Python 的优先级队列

    【问题标题】:Priority Queue with two Priorities Python具有两个优先级 Python 的优先级队列 【发布时间】:2023-04-02 15:54:01 【问题描述】: 我正在寻找一种优先级队列,它允许我给出两个优先级。我希望它只检查第一个值然后检查第二个值这是一些代码 import Queue class Job(o…

    Python开发 2023年4月8日
    00
  • Python面向对象编程(一)

    关于“Python面向对象编程(一)”,以下是完整攻略: 1. 面向对象编程简介 面向对象编程( Object Oriented Programming, OOP)是一种程序设计的方法,它将程序中的对象作为程序的基本单元,通过封装、继承和多态等机制,实现代码的可复用、可维护和可扩展。在 Python 中,一切皆为对象,因此 Python 是一门完美的面向对象…

    python 2023年5月13日
    00
  • Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析

    下面我将详细讲解”PythonRequest爬取seo.chinaz.com百度权重网站的查询结果过程解析”的完整实例教程。 准备工作 安装Python环境 安装Python第三方库requests和beautifulsoup4 获取查询结果 首先,我们需要获取要查询的网站的百度权重,可以使用Python Requests库进行查询。 import requ…

    python 2023年5月13日
    00
  • 详解python中自定义超时异常的几种方法

    详解Python中自定义超时异常的几种方法 在Python编程中,经常遇到需要设置超时时间的情况。例如,请求API时,如果API响应过慢,我们可以设置超时时间来避免长时间等待。Python提供了timeout参数来设置超时时间。当超时时间到达时,会抛出TimeoutError异常。但是,有些情况下,我们可能需要自定义超时异常,以便更好地处理异常情况。本文将详…

    python 2023年5月13日
    00
  • python程序需要编译吗

    Python是一门解释型语言,是不需要编译的,也就是说Python源码无需经过编译器的处理,可以直接运行。这点和Java、C++等编译型语言不同。 Python解释器读取 Python 代码,将其解释成字节码(bytecode),再运行。在这个过程中,Python解释器把代码翻译成一种叫做“字节码”的形式。字节码文件以.pyc为后缀,保存在 pycache …

    python 2023年5月23日
    00
  • 浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)

    “浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)”是一篇关于使用Python和Selenium进行自动化测试的教程,包含一个完整的示例,介绍了如何使用Python编写自动化测试脚本,通过Selenium驱动浏览器模拟用户操作,从而测试网页的功能和性能。 该篇文章的攻略分为以下几个部分: 环境配置 在使用Python和Seleni…

    python 2023年6月5日
    00
合作推广
合作推广
分享本页
返回顶部