Mad Wombat
Mad Wombat

Reputation: 15105

pip3 stopped installing executables into /usr/local/bin

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

Answers (1)

Mad Wombat
Mad Wombat

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

Related Questions