Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

brew postinstall python (2.7.13): [Errno 13] Permission denied

I am on OS X 10.11.6. I updated and upgraded brew today. After that, pip did not work. It looked as if it was not installed during the upgrade. When I finished the upgrade I saw the warning:

Warning: The post-install step did not complete successfully You can try again using brew postinstall python

So I ran brew postinstall python and I then encountered the error:

error: [Errno 13] Permission denied: '/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py'

In this post they say:

The post-install step did not complete successfully due to error: could not delete '/usr/local/lib/python2.7/site-packages/pip/__init__.py': Permission denied. Manually deleting that file and then running brew postinstall python again fixed it.

So I thought the fix would be the same and I manually deleted /usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py' so that

$ ls /usr/local/lib/python2.7/site-packages/pkg_resources/
_vendor extern

I ran brew postinstall python again but now I obtain:

...
copying build/lib/easy_install.py -> /usr/local/lib/python2.7/site-packages
copying build/lib/pkg_resources/__init__.py -> /usr/local/lib/python2.7/site-packages/pkg_resources
error: [Errno 13] Permission denied: '/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py'` 

I found "a fix" by installing pip using easy_install:

sudo easy_install pip

And now everything seems to work fine. However, I have two questions:

  1. Have I messed up by manually removing '/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py'?

  2. What would be the fix for the [Errno 13] Permission denied when brew postinstall python?


In case it is of any use, here is my brew config and brew doctor outputs after all that happened today:

$ brew config
HOMEBREW_VERSION: 1.1.6
ORIGIN: https://github.com/Homebrew/brew
HEAD: 619791e83d2781dca1b675e20249a8aebe085c7c
Last commit: 6 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 5ce01ec9c8b9958e2d9a7791e4d4e2aa0bf4fd8f
Core tap last commit: 89 minutes ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_REPOSITORY: /usr/local/Homebrew
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://homebrew.bintray.com
CPU: octa-core 64-bit haswell
Homebrew Ruby: 2.0.0-p648
Clang: 8.0 build 800
Git: 2.10.1 => /Applications/Xcode.app/Contents/Developer/usr/bin/git
Perl: /usr/bin/perl
Python: /usr/local/bin/python => /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
Java: 1.8.0_91
macOS: 10.11.6-x86_64
Xcode: 8.2.1
CLT: 8.2.0.0.1.1480973914
X11: 2.7.11 => /opt/X11

$ brew doctor
Warning: Unbrewed dylibs were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected dylibs:
  /usr/local/lib/libtcl8.6.dylib
  /usr/local/lib/libtk8.6.dylib

Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected header files:
  /usr/local/include/fakemysql.h
  /usr/local/include/fakepq.h
  /usr/local/include/fakesql.h
  /usr/local/include/itcl.h
  /usr/local/include/itcl2TclOO.h
  /usr/local/include/itclDecls.h
  /usr/local/include/itclInt.h
  /usr/local/include/itclIntDecls.h
  /usr/local/include/itclMigrate2TclCore.h
  /usr/local/include/itclTclIntStubsFcn.h
  /usr/local/include/mysqlStubs.h
  /usr/local/include/odbcStubs.h
  /usr/local/include/pqStubs.h
  /usr/local/include/tcl.h
  /usr/local/include/tclDecls.h
  /usr/local/include/tclOO.h
  /usr/local/include/tclOODecls.h
  /usr/local/include/tclPlatDecls.h
  /usr/local/include/tclThread.h
  /usr/local/include/tclTomMath.h
  /usr/local/include/tclTomMathDecls.h
  /usr/local/include/tdbc.h
  /usr/local/include/tdbcDecls.h
  /usr/local/include/tdbcInt.h
  /usr/local/include/tk.h
  /usr/local/include/tkDecls.h
  /usr/local/include/tkPlatDecls.h

Warning: Unbrewed .pc files were found in /usr/local/lib/pkgconfig.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected .pc files:
  /usr/local/lib/pkgconfig/tcl.pc
  /usr/local/lib/pkgconfig/tk.pc

Warning: Unbrewed static libraries were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected static libraries:
  /usr/local/lib/libtclstub8.6.a
  /usr/local/lib/libtkstub8.6.a
like image 608
Javier Avatar asked Jan 09 '17 21:01

Javier


People also ask

How do I fix Permissionrror errno 13 Permission denied Python?

The reason behind this error is that the file you want to read has been already opened. The solution for it is easy, all you need to do is simply close the file and if you run your program again, you can read the data.

How do I fix Python permission denied error?

To fix PermissionError: [Errno 13] Permission denied with Python open, we should make sure the path we call open with is a file. to make sure that the path is a path to a file with os. path. isfile before we call open to open the file at the path .

Could not open requirements file errno 13 Permission denied?

The PermissionError: [errno 13] permission denied error occurs when you try to access a file from Python without having the necessary permissions. To fix this error, use the chmod or chown command to change the permissions of the file so that the right user and/or group can access the file.

Could not install packages due to an Oserror errno 13 Permission denied Python?

There might be instances when you keep getting an error “Could not install packages due to an EnvironmentError: [Errno 13] Permission denied” when you pip install. This error comes up because of missing privilege to the directory in which pip is trying to write files.


1 Answers

The easiest method I've found to fix this is to simply set the ownership of the folder to your username:

chown -R `whoami` /usr/local/lib/python2.7/site-packages/

Edit: On occasion, I also run this:

sudo -H python3 -m pip install ... 

or

sudo -H pip install
like image 118
Brian Bruggeman Avatar answered Oct 16 '22 23:10

Brian Bruggeman