这已经解决了,我尽可能安装,但我不明白是什么导致了这个问题
每当我使用PIP安装任何软件包时,我都会得到Permission error
,如下所示
sudo pip install <packagename>
Downloading/unpacking requests
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/pip/basecommand.py", line 104, in main
status = self.run(options, args)
File "/usr/lib/python2.7/site-packages/pip/commands/install.py", line 245, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "/usr/lib/python2.7/site-packages/pip/req.py", line 971, in prepare_files
location = req_to_install.build_location(self.build_dir, not self.is_download)
File "/usr/lib/python2.7/site-packages/pip/req.py", line 153, in build_location
_make_build_dir(build_dir)
File "/usr/lib/python2.7/site-packages/pip/req.py", line 1225, in _make_build_dir
os.makedirs(build_dir)
File "/usr/lib64/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/home/alex/build'
我已经在我的主目录中创建了一个tmp目录,使其完全可写,然后按如下方式安装:
mkdir temp
chmod 777 temp
cd temp/
sudo pip install packagename
然后有效。知道为什么我要经历这个吗?
答案 0 :(得分:1)
只有少数可能出现的问题(在我对问题的评论中列出)。
第一个是这里的实际问题,也可能是未来搜索者/读者的最有可能,所以让我们只关注它。
如果/home/alex/build
即使对于root也不可写,您将从sudo pip
收到此错误。例如,如果从CD驱动器安装/home
,则甚至根也不能写入CD-ROM。
人们拥有非根写主目录的一个常见原因是网络共享。例如,如果挂载NFS共享sqsh_root,则本地root
不是root
共享,因此它只能写入全局可写目录。如果您安装SMB共享以使用域权限,则相同的Windows网络将成立。
pip
有许多参数可供您自定义。我认为--build
是您想要的,但请pip install --help
查看所有内容。 (另外,请确保您是最新的。pip
开发人员在等待Python包装的不久的将来等待的时候,一直在添加和修复便利/自定义功能。)
如果最糟糕的情况发生,您可以在没有--user
的情况下进行sudo
安装,然后使用sudo
将包和egg-info文件从您的用户网站包移至系统