无法使用pip安装(openSUSE)

时间:2013-06-21 01:36:39

标签: python pip opensuse

这已经解决了,我尽可能安装,但我不明白是什么导致了这个问题

每当我使用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

然后有效。知道为什么我要经历这个吗?

1 个答案:

答案 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文件从您的用户网站包移至系统