am在试图卸载包装以升级包装时,与名为Description.rst的文件有关的"权限拒绝"错误。
我最初运行了此命令:
pip uninstall twilio
有很多输出,但重要的是:
...
...
/usr/local/lib/python2.7/site-packages/twilio/version.pyc
Proceed (y/n)? y
Exception:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/usr/local/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/commands/uninstall.py", line 59, in run
requirement_set.uninstall(auto_confirm=options.yes)
File "/usr/local/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 1035, in uninstall
req.uninstall(auto_confirm=auto_confirm)
File "/usr/local/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 598, in uninstall
paths_to_remove.remove(auto_confirm)
File "/usr/local/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 1836, in remove
renames(path, new_path)
File "/usr/local/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/util.py", line 295, in renames
shutil.move(old, new)
File "/usr/local/lib/python2.7/shutil.py", line 303, in move
os.unlink(src)
OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/site-packages/twilio-3.6.6.dist-info/DESCRIPTION.rst'
Storing debug log for failure in /home/chris/.pip/pip.log
[chris@boogie-dev ~]$
我不确定如何解决这个问题。我不太了解PIP,或者Python Library pakcages的来龙去脉,或者是description.rst文件是什么以及为什么它具有特殊权限。
我已经在sudo
下尝试了该命令,但是sudo
下的PIP不可用。我不确定在此问题上正确的角度是什么:
- 在Sudo帐户下安装PIP,然后尝试使用Sudo帐户卸载 - 该帐户与最初安装软件包 的帐户不同
- 使用sudo时删除
DESCRIPTION.rst
文件 - 我不知道的其他一些更优雅的方法
而不是从python.org
下载modules
,您可以使用pip
下载模块,但是在执行此操作时,您应该在root mode
中。
首先运行
root@achal-PC:~# apt-get install python-pip
...it will install pip tool...
root@achal-PC:~# which pip
/usr/bin/pip
接下来,当您安装twilio
为
root@achal-PC:~# pip install twilio
..Successfully installed twilio PyJWT pytz...
而不是 un-install
做 upgrade
root@achal-PC:~# pip install --upgrade twilio
Requirement already up-to-date: twilio in /usr/local/lib/python2.7/dist-packages
Cleaning up..
我希望它有帮助。
我也有同样的问题。尝试使用--user
标志,这样:pip uninstall --user twilio
。
在我的情况下,没有更改安装/卸载的软件包的位置,但我的猜测是避免触摸一些用于root访问的文件。此问题中的更多信息:pip安装的目的是什么?