0

これは、インストールできる限り解決されましたが、問題の原因がわかりません

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

それが機能します。なぜ私はこれを経験しなければならないのですか?

4

1 に答える 1

1

考えられる問題はごくわずかです(質問への私のコメントに記載されています)。

最初のものは、ここで実際の問題であることが判明したものであり、おそらく将来の検索者/読者にとって最も可能性が高いものでもあるので、それに焦点を当てましょう.

/home/alex/buildが root でも書き込み可能でない場合、 からまさにこのエラーが発生しsudo pipます。たとえば、/homeが CD ドライブからマウントされている場合、root でも CD-ROM に書き込むことはできません。

root が書き込み不可のホーム ディレクトリを持つ一般的な理由の 1 つは、ネットワーク共有です。たとえば、NFS 共有 sqsh_root をマウントする場合、ローカルrootは共有ではないrootため、誰でも書き込み可能なディレクトリにのみ書き込むことができます。ドメイン権限を使用するために SMB 共有をマウントすると、Windows ネットワーキングと同じことが当てはまります。

pipカスタマイズできるパラメータがいくつかあります。私--buildはあなたが望むものだと思いますが、pip install --helpそれらすべてを見るようにしてください. (また、最新の状態であることを確認してください。pip開発者は、Python パッケージの近い将来が決定されるのを待っている間、利便性/カスタマイズ機能をかなり追加および修正しています。)

最悪の場合は、 を使用--userせずにインストールを実行しsudo、 を使用sudoして、パッケージと Egg-info ファイルをユーザーのサイト パッケージからシステムに移動できます。

于 2013-06-26T00:14:11.593 に答える