在Ubuntu 12.04 Python 2.7和Python 3.2中安装PIL

在Ubuntu 12.04 Python 2.7和Python 3.2中安装PIL,python,python-imaging-library,Python,Python Imaging Library,我使用的是Ubuntu12.04服务器,默认情况下它有两个Python版本:2.7和3.2。当我使用python setup.py installterminal命令安装PIL时,PIL将与python 2.7一起安装。如何使用Python 3.2安装PIL?因为我正在使用Python 3编写脚本。如果我的Eclipse使用Python2.7,那么将成功导入PIL。但如果我选择Python3作为语法语言,PIL将无法导入 p/S:我尝试了以下方法: (枕头-1.7.8.zip) (PIL-1.

我使用的是Ubuntu12.04服务器,默认情况下它有两个Python版本:2.7和3.2。当我使用
python setup.py install
terminal命令安装PIL时,PIL将与python 2.7一起安装。如何使用Python 3.2安装PIL?因为我正在使用Python 3编写脚本。如果我的Eclipse使用Python2.7,那么将成功导入PIL。但如果我选择Python3作为语法语言,PIL将无法导入

p/S:我尝试了以下方法:

  • (枕头-1.7.8.zip)
  • (PIL-1.1.7-py3-source.zip)
更新:

使用
python3
命令会产生错误消息

例1:

root@sys:~/Downloads/Pillow-1.7.8# python3.2 setup.py install
Traceback (most recent call last):
  File "setup.py", line 10, in <module>
    from setuptools import Extension, setup, find_packages
ImportError: No module named setuptools
我已经可以构建setup.py了,但最后还是出现了错误消息

root@sys:~/Downloads/Pillow-1.7.8# python3 setup.py build
running build
running build_py
running build_ext
Traceback (most recent call last):
  File "setup.py", line 469, in <module>
    scripts=glob.glob("Scripts/pil*.py"),
  File "/usr/lib/python3.2/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/lib/python3.2/distutils/dist.py", line 917, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.2/distutils/dist.py", line 936, in run_command
    cmd_obj.run()
  File "/usr/lib/python3.2/distutils/command/build.py", line 126, in run
    self.run_command(cmd_name)
  File "/usr/lib/python3.2/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python3.2/distutils/dist.py", line 936, in run_command
    cmd_obj.run()
  File "/usr/lib/python3.2/distutils/command/build_ext.py", line 344, in run
    self.build_extensions()
  File "setup.py", line 127, in build_extensions
    self.add_multiarch_paths()
  File "setup.py", line 439, in add_multiarch_paths
    '/usr/lib/' + multiarch_path_component)
TypeError: Can't convert 'bytes' object to str implicitly
解决了的 按照步骤进行安装

sudo aptitude install python3-setuptools
sudo easy_install3 pip
sudo apt-get install python3-dev
# download Pillow's master.zip
wget https://github.com/python-imaging/Pillow/archive/master.zip
sudo unzip master.zip
python3 setup.py build
python3 setup.py install
完成了

[(我在评论中似乎把事情弄得一团糟,很抱歉,这里有一个更好的版本)

错误清楚地表明您缺少python3的
setuptools
。程序包
python3 setuptools
应该解决这个问题(运行
sudo-apt-get-install-python3 setuptools


然后,正如您所注意到的,默认的
PIL
对python3不起作用。但是,它会使用
python3 setup.py build
sudo python3 setup.py install

进行安装。您的指令太长,而且没有完全编写脚本,这些更好(同一平台-最近的Debian/Ubuntu):


对于那些在python3上与PIL(枕头)一起工作的人

在执行上面的receipe Chin Ye之后,通过调整文件中的两行,我能够在发出
import scipy.misc
时使scipy.misc.imread和scipy.misc.imsave可用:

/usr/lib/python3/dist-packages/scipy/misc/pilutil.py

在该文件中,替换以下行:

import Image
import ImageFilter
将是:

from PIL import Image
from PIL import ImageFilter

然后,
scipy.misc.\uuuuu init\uuuu
中的导入工作,以允许
pilutil.py
的内容工作(esp图像io-来自numpy数组格式)

这是针对Ubuntu12.04 LTS,
scipy.\uuuuu0.9.0版


(有关调整本身的更多信息,请参阅PIL枕头实现的文档)

相关问题-@Akaidoint所以,在我设置了source
py3env/bin/activate
之后,使用这个命令?
pip install setup.py
?我想他们的意思是使用
pip-3.2
,如那个被高估的答案所示,virtualenv不需要..@wim那么包名是什么?
sudo pip-3.2 install
对于其他人,安装latest-dev版本的Tcl/Tk和jpeg、zlib(png/zip)库,freetype2和littlecms。另外,确保在构建和安装步骤之间运行
python3 selftest.py
,以确保一切正常。此外,除了wget和selftest.py之外,所有命令都需要sudo。对我来说,自我在bu之后添加了更多库以来,selftest第一次失败ild,因此我必须运行
sudo python setup.py clean
sudo python setup.py build\u ext-I
来修复它。来源:根据github的说法,1.7.8版已经有4个月了。你能试试当前的master(对我有用)吗?缺少
Python.h
,请安装Python开发库;类似于
sudo apt get install python3 dev
(您可能需要谷歌搜索)。
sudo aptitude install python3-setuptools
sudo easy_install3 pip
sudo apt-get install python3-dev
# download Pillow's master.zip
wget https://github.com/python-imaging/Pillow/archive/master.zip
sudo unzip master.zip
python3 setup.py build
python3 setup.py install
sudo aptitude install python3-pip git
pip-3.2 install --user git+https://github.com/python-imaging/Pillow
import Image
import ImageFilter
from PIL import Image
from PIL import ImageFilter