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

yizhihongxing

下面就来详细讲解“解决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搭建一个QQ机器人实现叫起床服务

    教你使用Python搭建一个QQ机器人实现叫起床服务 QQ机器人是基于 QQ 聊天软件平台而产生的一种基于 QQ 协议的机器人,它可以通过你的 QQ 帐号来接受指令并进行自动化操作,比如自动回复、定时发送消息等。在本篇攻略中,将介绍如何利用 Python 语言搭建一个 QQ 机器人,来实现每日叫起床的服务。 准备工作 注册一个腾讯云开发者帐号并登录。进入腾讯…

    python 2023年5月23日
    00
  • 使用NumPy创建一个数组,它是给定大小的每个连续子数组的平均值

    NumPy是一个Python中优秀的科学计算库。在NumPy中使用ndarray这个对象来表示数组,即便是多维数组也可以用这个对象表示。为了创建一个数组,需要使用numpy模块中的array()方法。下面是一个使用numpy模块创建数组并计算每个连续子数组平均值的攻略: 导入NumPy模块 import numpy as np 创建数组 可以使用numpy模…

    python-answer 2023年3月25日
    00
  • 详解Python寻找元组中最大元素

    如果想要寻找一个元组中的最大元素,可以使用Python内置的max()函数。 下面是使用max()函数寻找元组中最大元素的代码示例: tup = (1, 3, 5, 2, 4) max_val = max(tup) print(max_val) 在这个例子中,我们定义了一个元组tup,然后使用max()函数寻找tup中的最大元素,并将其赋值给变量max_va…

    python-answer 2023年3月25日
    00
  • python实现字典(dict)和字符串(string)的相互转换方法

    下面是详细讲解“Python实现字典(dict)和字符串(string)的相互转换方法”的攻略: 将字典转换为字符串 通常,在将字典存储到数据库或将其传输到不同的服务端等情况下,我们需要将字典转换为字符串。Python中有两种方式将字典转换为字符串: 1. json.dumps() 使用json.dump()函数将字典转换为字符串。这个函数使用json模块,…

    python 2023年5月13日
    00
  • Python实现socket非阻塞通讯功能示例

    接下来我会详细讲解Python实现socket非阻塞通讯的完整攻略。 什么是Socket非阻塞通讯 在网络编程中,我们常常需要使用Socket来进行网络通信。而在Socket的使用过程中,一般都会采用阻塞式编程方式。即当Socket收到请求或发送数据时,程序会一直等待,直到数据传输完成才会执行下一步操作。 而Socket非阻塞通讯则是指在Socket通信过程…

    python 2023年6月6日
    00
  • 使用python创建股票的时间序列可视化分析

    下面是使用Python创建股票的时间序列可视化分析的完整攻略: 1. 前置需求 在进行时间序列可视化分析之前,需要先安装以下Python库:pandas、mplfinance、matplotlib和numpy。可以使用pip命令进行安装,例如: pip install pandas mplfinance matplotlib numpy 此外,还需要准备时间…

    python 2023年6月2日
    00
  • 如何使 fetch 方法返回 INTEGER 列的 int 值而不是字符串 Python sqlite?

    【问题标题】:How to make fetch methods return int values for INTEGER columns instead of strings Python sqlite?如何使 fetch 方法返回 INTEGER 列的 int 值而不是字符串 Python sqlite? 【发布时间】:2023-04-04 11:44…

    Python开发 2023年4月6日
    00
  • Python类型提示Type Hints示例详解

    有关“Python类型提示TypeHints示例详解”的完整攻略如下: Python类型提示TypeHints示例详解 在Python中,类型提示(TypeHints)被用于向编译器和代码阅读者表明一个变量或函数的期望类型。在本文中,我们将详细讲解如何在Python中应用类型提示。 简介TypeHints的类型 Python中常见的类型提示有以下几种: in…

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