LoginSignup
24
22

More than 5 years have passed since last update.

Macでpip install pandasしたらエラーが出たので対処した

Posted at

作業履歴

$ pip install pandas
Downloading/unpacking pandas
  Downloading pandas-0.15.2-cp27-none-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (6.7MB): 6.7MB downloaded
Downloading/unpacking numpy>=1.7.0 (from pandas)
  Downloading numpy-1.9.1-cp27-none-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (3.6MB): 3.6MB downloaded
Requirement already satisfied (use --upgrade to upgrade): python-dateutil in /usr/local/lib/python2.7/site-packages (from pandas)
Downloading/unpacking pytz>=2011k (from pandas)
  Downloading pytz-2014.10-py2.py3-none-any.whl (477kB): 477kB downloaded
Requirement already satisfied (use --upgrade to upgrade): six in /usr/local/lib/python2.7/site-packages (from python-dateutil->pandas)
Installing collected packages: pandas, numpy, pytz
Cleaning up...
Exception:
Traceback (most recent call last):
  File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/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/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/commands/install.py", line 283, in run
    requirement_set.install(install_options, global_options, root=options.root_path)
  File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 1435, in install
    requirement.install(install_options, global_options, *args, **kwargs)
  File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 671, in install
    self.move_wheel_files(self.source_dir, root=root)
  File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 901, in move_wheel_files
    pycompile=self.pycompile,
  File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/wheel.py", line 215, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/wheel.py", line 209, in clobber
    shutil.copy2(srcfile, destfile)
  File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 130, in copy2
    copyfile(src, dst)
  File "/usr/local/Cellar/python/2.7.9/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: '/usr/local/lib/python2.7/site-packages/numpy/__config__.pyc'

Storing debug log for failure in /Users/tmsanrinsha/.pip/pip.log

IOError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/site-packages/numpy/__config__.pyc'とあることに今気づいたのでnumpyのインストールの仕方がまずかったらしい。

しかし、作業中はわからなかったのでとりあえずfonnesbeck/ScipySuperpack @ GitHubのスクリプトを実行すればうまくいくかなと思い実行。

$ curl 'https://raw.githubusercontent.com/fonnesbeck/ScipySuperpack/master/install_superpack.sh' | sh

これも今気づいたが途中にstty: stdin isn't a terminalという文言があり、その後の選択

Would you like to use Python 2.7 or Python 3.4? (2/3)

で選択できずに

Invalid selection. Quitting.

となり失敗した。なのでサイトに書いてあるように

$ curl -o install_superpack.sh https://raw.githubusercontent.com/fonnesbeck/ScipySuperpack/master/install_superpack.sh
$ sh install_superpack.sh

する必要があるようだ。でも、今試したところ、色々入るのでこれはやめたほうがいいかも。

で、なんとなくnumpyが悪いのかと思い、pip install numpyするとpip install pandasと同じエラーが出たので、pipが怪しいと思い、

$ pip install -U pip

した後、

$ pip install -U numpy

すると、エラーが変わって、

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
  File "build/bdist.macosx-10.10-x86_64/egg/pkg_resources.py", line 2951, in <module>
  File "build/bdist.macosx-10.10-x86_64/egg/pkg_resources.py", line 563, in _build_master
  File "build/bdist.macosx-10.10-x86_64/egg/pkg_resources.py", line 576, in _build_from_requirements
  File "build/bdist.macosx-10.10-x86_64/egg/pkg_resources.py", line 755, in resolve
pkg_resources.DistributionNotFound: pip==1.5.6

となった。これは後にわかることだが、pipをupdateしたために出たエラー。

pythonが悪いのかと思い

$ brew uninstall python
$ brew install python --build-fromsource

したが、かわらず。

$ brew uninstall numpy
$ brew install numpy

すると、

Warning: It looks like the deprecated gfortran formula is installed.
This causes build problems with numpy. gfortran is now provided by
the gcc formula. Please run:
    brew rm gfortran
    brew install gcc

こんなメッセージが出たので、

$ brew rm gfortran
$ brew install gcc
$ brew install numpy

すると、

Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink lib/python2.7/site-packages/numpy/__config__.py
Target /usr/local/lib/python2.7/site-packages/numpy/__config__.py
already exists. You may want to remove it:
  rm '/usr/local/lib/python2.7/site-packages/numpy/__config__.py'

To force the link and overwrite all conflicting files:
  brew link --overwrite numpy

To list all files that would be deleted:
  brew link --overwrite --dry-run numpy

Possible conflicting files are:
/usr/local/lib/python2.7/site-packages/numpy/__config__.py
/usr/local/lib/python2.7/site-packages/numpy/__init__.py

というエラーが出てきた。これがpip install pandasで出てきたエラーの原因っぽい。

$ brew link --overwrite numpy

して解決する。

その後、pipのエラーについて、Python - Homebrew で pip が DistributionError を出す場合の対処 - Qiitaという記事を見つけたので、そこに書いてあるように

$ rm /usr/local/bin/pip /usr/local/bin/pip2 /usr/local/bin/pip2.7
$ python -m pip install --upgrade --force-reinstall pip

すると、解決して、pip install pandasできた。

まとめ

結局最初のpip install pandasで出たエラーは

IOError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/site-packages/numpy/__config__.pyc'

とあるので、numpyの問題。これを解決するにはnumpyをアンインストールして、インストールすればよい。ただし、エラーが出たのでそれに従う。

$ brew uninstall numpy
$ brew rm gfortran
$ brew install gcc
$ brew install numpy
$ brew link --overwrite numpy

また、途中pipをアップデートしてしまったため出てしまったエラーは

$ rm /usr/local/bin/pip /usr/local/bin/pip2 /usr/local/bin/pip2.7
$ python -m pip install --upgrade --force-reinstall pip

とすることで解決する。

24
22
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
22