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'
4

5 に答える 5

2

非常に優れた「許可の問題」のヒントに加えて、 PIL 自体の代わりに「pillow」パッケージ ( https://pypi.python.org/pypi/Pillow/ ) の使用を検討する必要があるかもしれません。ほとんどの場合、installation-manager による PIL のインストールは骨の折れる作業です。pillow は、適切なインストール可能なパッケージを提供することのみを目的とした PIL 自体のラッパーです。

于 2013-05-16T11:59:42.113 に答える
0

It looks like you have a permission issue as you're trying to install PIL globally.

To continue with this try (which will also upgrade PIL if you have it installed already):

sudo pip install -U PIL 

If you want to experiment with PIL I recommend looking at using virtualenv. You create a virtual environment which you then activate and can install dependencies into with pip, without using sudo.

For example:

# 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

This will create a contained environment to use PIL in and avoids using sudo.

Note: you will have to activate the environment every time you want to use any of the requirements though.

于 2013-05-16T09:53:14.730 に答える