Reputation: 15105
Suddenly, my pip install
commands stopped installing binaries into /usr/local/bin. I tried to upgrade pip to see if that might be the problem, it was up to date and a forced re-install deleted my /usr/local/pip3 and didn't install it back, so now I have to use python3 -m pip
to do any pip operations. I am running OS X Sierra with the latest update (that is the main thing that changed, so I think the OS X upgrade might have caused this) with python3 installed by homebrew. How do I fix this?
Edit: I am still trying to work this out. python3 -m pip show -f uwsgi
actually shows the uwsgi binary as being installed to what amounts to /usr/local/bin (it uses relative paths). Yet the binary is not there and reinstalling doesn't put it there and doesn't produce any errors. So either pip records the file in its manifest, but doesn't actually put it there or the OS X transparently fakes the file creation (did Apple introduce some new weird security measures?)
Upvotes: 1
Views: 1735
Reputation: 15105
Resolved the problem. Turns out that this is Homebrew's behavior. I must have recently ran brew upgrade
and it installed a newer version of python3. It seems that something got weird with re-linking the new python3, so all binaries for the new installs ended up somewhere deep in /usr/local/Cellar/python3
.
I expect that re-linking python3 would solve this, but I ended up removing all versions of python3 and reinstalling. After that all I had to do was re-install any and all packages that had binary files in them.
Not sure if this is the intended behavior or a bug in python3 package.
Upvotes: 1