MacOS – Homebrew says the Python installation could cause issues and I’m not sure what to do

homebrewmacospythonterminal

I'm just getting started with web development and I'm trying to set up my environment, and I can't do that until Dr Homebrew has discharged me from N00bcake Hospital. This is what I'm getting:

Warning: "config" scripts exist outside your system or Homebrew directories.
`./configure` scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.

Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:

  /Library/Frameworks/Python.framework/Versions/2.7/bin/python-config
  /Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config
  /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config

Warning: Python is installed at /Library/Frameworks/Python.framework

Homebrew only supports building against the System-provided Python or a
brewed Python. In particular, Pythons installed to /Library can interfere
with other software installs.

I'm worried because I already have a working installation of Python which is a good enough algorithm playground, and I don't want to leave my framework worse than it was before, but I reckon I should do what Homebrew says if I want to continue. Should I just run $ rm -f /Library/Frameworks/Python.framework and call it a day or is there something else I must do? $ python --version && python3 --version returns

Python 2.7.6
Python 3.3.2

and $ brew --config returns

HOMEBREW_VERSION: 0.9.5
ORIGIN: https://github.com/Homebrew/homebrew.git
HEAD: 1304a2b29a3de5da2b31e1656bf772eea2a78dc1
Last commit: 5 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
CPU: dual-core 64-bit core2
OS X: 10.6.8-i386
Xcode: 4.2
CLT: N/A
GCC-4.2: build 5666
LLVM-GCC: build 2336
Clang: 3.0 build 211
X11: 2.7.7 => /opt/X11
System Ruby: 1.8.7-p249
Perl: /usr/bin/perl
Python: /usr/local/bin/python => /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
Java: 1.6.0_65

which brings up another odd thing: I was certain my processor was a 32 bit Intel Core Duo and that's why I couldn't update my OS, but this says dual-core 64-bit core2. What is going on?

Best Answer

When I run brew doctor the first bit of output says this:

Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!

Followed by a warning similar to yours about config files that brew can see which are part of an Anaconda Python install. So, if you're not having any problems, you shouldn't feel too bad about taking their advice and just ignoring the warning.

However, the reason that you're getting the warnings is because the MacPython install process added a symlink in /usr/local/bin/ to it's Python directory under /Library/Frameworks/.... There's nothing wrong with this per se, but, as you've found, it's always possible that it could conflict with assumptions made by other stuff that uses /usr/local/bin/ (e.g., Homebrew).

You might want to look into virtualenv as a way of managing your Python development environments in general. I haven't given this much thought, but I'd be tempted to remove those links that MacPython put in /usr/local/bin/ and create a virtualenv that points to whichever MacPython version you want to use for a particular project.