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:
Have I messed up by manually removing '/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py'
?
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
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.
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 .
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.
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.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With