使用pip安装PIL时出现错误

3
我正在尝试使用pip安装PIL,命令如下:pip install PIL。但是我收到以下错误信息,不太清楚其含义。请有经验的人士帮助我解决问题。
nishant@nishant-Inspiron-1545:~$ pip install PIL
Requirement already satisfied (use --upgrade to upgrade): PIL in /usr/lib/python2.7/dist-packages/PIL
Cleaning up...
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 104, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 265, in run
requirement_set.cleanup_files(bundle=self.bundle)
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1081, in cleanup_files
rmtree(dir)
File "/usr/lib/python2.7/dist-packages/pip/util.py", line 29, in rmtree
onerror=rmtree_errorhandler)
File "/usr/lib/python2.7/shutil.py", line 252, in rmtree
onerror(os.remove, fullname, sys.exc_info())
File "/usr/lib/python2.7/dist-packages/pip/util.py", line 46, in rmtree_errorhandler
os.chmod(path, stat.S_IWRITE)
OSError: [Errno 1] Operation not permitted: '/home/nishant/build/pip-delete-this-directory.txt'

Storing complete log in /home/nishant/.pip/pip.log
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
load_entry_point('pip==1.1', 'console_scripts', 'pip-2.7')()
File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 116, in main
return command.main(args[1:], options)
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 141, in main
log_fp = open_logfile(log_fn, 'w')
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 168, in open_logfile
log_fp = open(filename, mode)
IOError: [Errno 13] Permission denied: '/home/nishant/.pip/pip.log'

1
它说你已经安装了PIL,然后无法清理。你之前运行过sudo pip并且提前中止了吗?这两个文件的权限和所有者是什么? - Martijn Pieters
sudo apt-get install python-imaging - Burhan Khalid
5个回答

3

你遇到了权限问题。尝试以下操作:

sudo pip install -U PIL

2

除了非常好的“权限问题”提示之外,也许您应该考虑使用“pillow”包(https://pypi.python.org/pypi/Pillow/)而不是PIL本身。 通过安装管理器安装PIL在大多数情况下都是一项痛苦的工作。 pillow是PIL本身的包装器,其唯一目的是提供一个适当的可安装包。


1

在我的Mac OSX 10.10.4和Python 2.7.5上运行良好。

sudo pip install pillow

当然,您必须预先安装pip才能使其正常工作。


1

由于需要sudo命令才能执行,因此显示异常。

只需键入[输入图像描述 sudo pip install virtualenv

安装成功后,将显示如下内容。 安装pip成功的图像


0

看起来您正在尝试全局安装PIL,可能存在权限问题。

要继续进行此尝试(如果已经安装了PIL,则还将升级它):

sudo pip install -U PIL 

如果你想尝试使用PIL的话,我建议你考虑使用virtualenv。你可以创建一个虚拟环境,然后通过activate命令激活该环境,并可以使用pip来安装依赖包,而无需使用sudo
比如说:
# Change into home directory
cd ~/
# Make 'environments' folder and change into it
mkdir environments && cd $!
# Create virtual environment and change into it
virtualenv test_environment && cd $!
# Activate the environment
source bin/activate
# Install PIL
pip install PIL

这将创建一个包含环境,以便在其中使用PIL,并避免使用sudo

注意:每次想要使用任何要求时,您都必须激活该环境。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接