web-dev-qa-db-ja.com

OSX El Capitan:Sudo pipのインストールOSエラー:[Errno:1]操作は許可されていません

実行すると:

Sudo pip install ipython

以下のエラーが出ます

OSエラー:[Errno:1]操作は許可されていません: '/System/Library/Frameworks/Python.framework/Versions/2.7/share'

最後に実行されたコマンドは上記のディレクトリを作成しようとします。

また、次のコマンドはエラーを表示せずにiPythonのインストールに失敗します。

Sudo pip install --user python

(私はこのOSの他の人々が同じ問題を見る場合に備えてMac OS X El Capitanにいる。)

125
Milad M

Sudo pip installを伝える命令は本質的に間違っています。

もしあなたがSudo pipをやるべきだと言うチュートリアルがそこにあるなら、このパッケージに対してバグを報告してください。時間がSudo pipが壊れたやり方であることを証明しているので、作者はPythonコミュニティを混乱させています。

OSX El Capitanは、オペレーティングシステムファイルの損傷を防ぐためのメカニズムを導入しました/System/Library/Frameworks/Python.framework/Versions/2.7/shareは保護された場所の1つです。 普通のユーザはそこにファイルを置いたり書いたりする理由がありません。これは、オペレーティングシステム自体がこれらのファイルに依存しており、Sudo pipが上記から与えられたすべての力で無条件に上書きされるためです。通常は悪いことは起こりませんが、可能性はあります。 Appleは、誤ってインストールを妨害しないようにOSユーザーを保護したいと考えています。

代わりに、あなたはIPythonのようなPythonパッケージをインストールする必要があります あなたのユーザのホームフォルダにローカルで 。最も簡単な方法は、 仮想環境を作成することです それをアクティブにすること それから仮想環境で pip を実行すること。

例:

cd ~  # Go to home directory
virtualenv my-venv
source my-venv/bin/activate
pip install IPython

より詳しい情報

あるいは、pip install --userを実行できるはずです。しかし、繰り返しますが、Sudoは必要なく、手動でPATH環境変数を設定する必要があります。

198
Mikko Ohtamaa

私は同じ問題を抱えていましたが、easy_install "module"を使うことで問題は解決しました。

理由はよくわかりませんが、pipとeasy_installは異なるインストール場所を使用し、easy_installは正しい場所を選択しました。

編集:再チェックせずにコメントのため。異なる(OSXとインストールされた)インストールは互いに干渉するように思われます。それはそれらが言及したツールが異なる場所を実際に指している理由です(それらは異なるインストールに属するので)。私は通常、1つのインストールポイントからそれらのツールが同じフォルダを指すことを理解しています。

25
smat88dd

Pythonを再インストールしてください。

brew reinstall python

醸造するには、 醸造ホームページ を参照してください。

19
david euler

pip install --ignore-installed six

これは仕事をします、そしてあなたはあなたの最初のコマンドを試すことができます。

経由 http://github.com/pypa/pip/issues/3165

16
Alireza Samar

代わりにpip3 install <package>を使用し、pipで許可の問題を解決しました。

11
Keng

私は同じ問題を抱えていました。他の人が言っているように、Sudoでpip installを実行しないでください。実行する

brew doctor 

そして警告を修正すれば、あなたはあなたのpipインストールを続行することができるはずです。

10
apadana

同じエラー

Installing collected packages: six, pyparsing, packaging, appdirs, setuptools
Exception:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.Egg/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.Egg/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.Egg/pip/req/req_set.py", line 784, in install
    **kwargs
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.Egg/pip/req/req_install.py", line 851, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.Egg/pip/req/req_install.py", line 1064, in move_wheel_files
    isolated=self.isolated,
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.Egg/pip/wheel.py", line 345, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.Egg/pip/wheel.py", line 323, in clobber
    shutil.copyfile(srcfile, destfile)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 83, in copyfile
    with open(dst, 'wb') as fdst:
IOError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/six.py'

そしてここで私はこの問題を解決するためにSudoなしで--userを使用します

$ pip install --user scikit-image h5py keras pygame
Collecting scikit-image
  Downloading http://mirrors.aliyun.com/pypi/packages/65/69/27a1d55ce8f77c8ac757938707105b1070ff4f2ae47d2dc99461bfae4491/scikit_image-0.13.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (28.1MB)
    100% |████████████████████████████████| 28.1MB 380kB/s
Collecting h5py
  Downloading http://mirrors.aliyun.com/pypi/packages/b7/cc/1c29b0815b12de2c92b5323cad60f724ac8f0e39d0166d0b9dfacbcb70dd/h5py-2.7.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (4.5MB)
    100% |████████████████████████████████| 4.5MB 503kB/s
Requirement already satisfied: keras in /Library/Python/2.7/site-packages
Requirement already satisfied: pygame in /Library/Python/2.7/site-packages
Requirement already satisfied: matplotlib>=1.3.1 in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from scikit-image)
Requirement already satisfied: six>=1.7.3 in /Library/Python/2.7/site-packages (from scikit-image)
Requirement already satisfied: pillow>=2.1.0 in /Library/Python/2.7/site-packages (from scikit-image)
Requirement already satisfied: networkx>=1.8 in /Library/Python/2.7/site-packages (from scikit-image)
Requirement already satisfied: PyWavelets>=0.4.0 in /Library/Python/2.7/site-packages (from scikit-image)
Collecting scipy>=0.17.0 (from scikit-image)
  Downloading http://mirrors.aliyun.com/pypi/packages/72/eb/d398b9f63ee936575edc62520477d6c2353ed013bacd656bd0c8bc1d0fa7/scipy-0.19.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (16.2MB)
    100% |████████████████████████████████| 16.2MB 990kB/s
Requirement already satisfied: numpy>=1.7 in /Library/Python/2.7/site-packages (from h5py)
Requirement already satisfied: theano in /Library/Python/2.7/site-packages (from keras)
Requirement already satisfied: pyyaml in /Library/Python/2.7/site-packages (from keras)
Requirement already satisfied: python-dateutil in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from matplotlib>=1.3.1->scikit-image)
Requirement already satisfied: tornado in /Library/Python/2.7/site-packages (from matplotlib>=1.3.1->scikit-image)
Requirement already satisfied: pyparsing>=1.5.6 in /Users/qiuwei/Library/Python/2.7/lib/python/site-packages (from matplotlib>=1.3.1->scikit-image)
Requirement already satisfied: nose in /Library/Python/2.7/site-packages (from matplotlib>=1.3.1->scikit-image)
Requirement already satisfied: olefile in /Library/Python/2.7/site-packages (from pillow>=2.1.0->scikit-image)
Requirement already satisfied: decorator>=3.4.0 in /Library/Python/2.7/site-packages (from networkx>=1.8->scikit-image)
Requirement already satisfied: singledispatch in /Library/Python/2.7/site-packages (from tornado->matplotlib>=1.3.1->scikit-image)
Requirement already satisfied: certifi in /Library/Python/2.7/site-packages (from tornado->matplotlib>=1.3.1->scikit-image)
Requirement already satisfied: backports_abc>=0.4 in /Library/Python/2.7/site-packages (from tornado->matplotlib>=1.3.1->scikit-image)
Installing collected packages: scipy, scikit-image, h5py
Successfully installed h5py-2.7.0 scikit-image-0.13.0 scipy-0.19.0 

それが同様の問題に遭遇する誰かに役立つことを願っています!

10
GoingMyWay

TL、DR $ PATHの修正

  1. CLI実行可能ファイルを含める必要があるパッケージをインストールするには、pip install --user package_nameを使用します。
  2. Pythonシェルを起動してimport package_name
  3. 出力のどこでlib/python/...があるのか​​を見つけて、すべてbinに置き換えます。
  4. $HOME/Library/Python/2.7/binのようです

詳細

MacOS 10.11 El Capitanの新しいシステム整合性保護のため、Sudo pip installは使用できなくなりました。そのメリットについてはここでは議論しません。

別の回答では、正しいpip install --userを使用する必要があると説明しています。しかし、彼らはあなたにあなたの$PATHについて何をすべきかを解明させるためにあなたを後ろの路地に送りました。幸いなことに、私はすでに 同様の無関係な質問に対する必要性を解決しました

これは私が私のシステムの1つで問題をどのように解決したかの筆記録です。あなたのシステムは私のものとは異なるかもしれないので、私は私のために働いた$PATHだけではなくそれをすべて含めます。このプロセスは誰にとってもうまくいくはずです。

$ pip install --user jp
Collecting jp
  Downloading jp-0.2.4.tar.gz
Installing collected packages: jp
  Running setup.py install for jp ... done
Successfully installed jp-0.2.4

$ python -c 'import jp; print jp'
<module 'jp' from '/Users/bbronosky/Library/Python/2.7/lib/python/site-packages/jp/__init__.pyc'>

$ find /Users/bbronosky/Library/Python -type f -perm -100
/Users/bbronosky/Library/Python/2.7/bin/jp

$ which jp

$ echo -e '\n''export PATH=$HOME/Library/Python/2.7/bin:$PATH' >> ~/.bashrc

$ bash # starting a new bash process for demo, but you should open a new terminal

$ which jp
/Users/bbronosky/Library/Python/2.7/bin/jp

$ jp
usage: jp <expression> <filepath>
8
Bruno Bronosky

いくつかの理由でEl Capitanでpipを動作させるのは難しいです。

  1. OS Xはいくつかのdistutils変数を正しく設定していないので、pipは/System/Library/の下の場所に補助ファイルをインストールしようとします。 El Capitanがこれをブロックしていますが、これはあなたが遭遇しているエラーです。
  2. OS Xでは、/System/Library/の下にいくつかの古いパッケージが含まれています。 pipはこれらをアップグレードしたいことがよくありますが、El Capitanではできません。
  3. OS Xは、/System/Library/(システム全体のpythonパッケージの場所)よりも/Library/Python/2.7/site-packagesをpythonの検索順序の上位に配置します。そのため、新しいバージョンのパッケージをインストールしても、古いパッケージはロードされたままになり、依存関係が壊れます。

https://Apple.stackexchange.com/a/223163/143849 に、これらすべてに対する回避策があります。しかし、標準のPythonインストーラー、HomebrewまたはAnacondaを使って自分のバージョンのPythonをインストールするのが最善の方法です。

6
Matthias Fripp

他のパッケージと衝突していると思います。私にとってはsixでした。だからあなたはこのようなコマンドを使用する必要があります:

pip install google-api-python-client --upgrade --ignore-installed six

または

pip install --ignore-installed six

4
Ruhul Amin

私はMikkoに完全に同意しますが、それでもやりたいのであれば、ここにあります。

  • 回復モードで再起動します(Hold cmd + R)
  • ユーティリティからターミナルを開く
  • csrutil disableコマンドを使う
4
gilliM

私はpython2.7をbrew経由でインストールしました、そして、以下は私の問題を解決しました

ナンプーインストール

それはpython3をインストールしますが、それはまだ動作し、2.7にも設定します。

1
Aerodyno

pip install ipythonが失敗した後、これは私のためにそれをしました:

SF55M:~ 278$ Sudo easy_install ipython
Searching for ipython
Best match: ipython 5.4.1
Adding ipython 5.4.1 to easy-install.pth file
Installing ipython script to /usr/local/bin
Installing iptest2 script to /usr/local/bin
Installing iptest script to /usr/local/bin
Installing ipython2 script to /usr/local/bin

Using /Library/Python/2.7/site-packages
Processing dependencies for ipython
Finished processing dependencies for ipython
SF55M:~ 278$ pip install ipython
Requirement already satisfied: ipython in /Library/Python/2.7/site-packages
Requirement already satisfied: Prompt-toolkit<2.0.0,>=1.0.4 in 
/Library/Python/2.7/site-packages (from ipython)
Requirement already satisfied: decorator in /Library/Python/2.7/site-
packages (from ipython)
Requirement already satisfied: setuptools>=18.5 in /Library/Python/2.7/site-
packages/setuptools-19.6.1-py2.7.Egg (from ipython)
Requirement already satisfied: pickleshare in /Library/Python/2.7/site-
packages (from ipython)
Requirement already satisfied: pygments in /Library/Python/2.7/site-packages 
(from ipython)
Requirement already satisfied: pexpect; sys_platform != "win32" in 
/Library/Python/2.7/site-packages (from ipython)
Requirement already satisfied: pathlib2; python_version == "2.7" or 
python_version == "3.3" in /Library/Python/2.7/site-packages (from ipython)
Requirement already satisfied: backports.shutil-get-terminal-size; 
python_version == "2.7" in /Library/Python/2.7/site-packages (from ipython)
Requirement already satisfied: simplegeneric>0.8 in 
/Library/Python/2.7/site-packages (from ipython)
Requirement already satisfied: traitlets>=4.2 in /Library/Python/2.7/site-
packages (from ipython)
Requirement already satisfied: appnope; sys_platform == "darwin" in 
/Library/Python/2.7/site-packages (from ipython)
Requirement already satisfied: six>=1.9.0 in /Library/Python/2.7/site-
packages (from Prompt-toolkit<2.0.0,>=1.0.4->ipython)
Requirement already satisfied: wcwidth in /Library/Python/2.7/site-packages 
(from Prompt-toolkit<2.0.0,>=1.0.4->ipython)
Requirement already satisfied: ptyprocess>=0.5 in /Library/Python/2.7/site-
packages (from pexpect; sys_platform != "win32"->ipython)
Requirement already satisfied: scandir; python_version < "3.5" in 
/Library/Python/2.7/site-packages (from pathlib2; python_version == "2.7" or 
python_version == "3.3"->ipython)
Requirement already satisfied: enum34; python_version == "2.7" in 
/Library/Python/2.7/site-packages (from traitlets>=4.2->ipython)
Requirement already satisfied: ipython-genutils in /Library/Python/2.7/site-
packages (from traitlets>=4.2->ipython)
SF55M:~ 212580378$ ipython
Python 2.7.10 (default, Feb  7 2017, 00:08:15)
Type "copyright", "credits" or "license" for more information.

IPython 5.4.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]:
Do you really want to exit ([y]/n)?
SF55M:~ 278$
0
Craig Hawkins

あなたと同じように私も同じ問題を抱えていました。私はEl Capitanを実行していて、python2.7を使ってJuypterをインストールしようとしています。

まずJuypterをインストールします(pip3でも動作します)。

Sudo -H pip install --ignore-installed six --user --install jupiter

それから、python 2.7カーネルをインストールする必要があります。そうしないと、ノートブックにはpython3しか使えなくなります。

Sudo -H python -m pip install --user --ignore-installed six --upgrade ipykernel
python -m ipykernel install --user

これは、python2.7をAppleにインストールし続けて、python2.7とpython3の両方でJupyterノートブックを使用したい場合に便利です。

0
Saif Charaniya

私はpython 2と3の両方がインストールされているのでそれは私のために働きました。

brew reinstall python@2
0
Atul Arvind