diff options
| author | Samuel John | 2013-06-05 17:33:37 +0200 |
|---|---|---|
| committer | Samuel John | 2013-06-05 17:37:32 +0200 |
| commit | aab704358b9ee6ccdcaf26a802390d9a07be4944 (patch) | |
| tree | 4760188a3357ddb5c0a2a167605783e9c15fbe9d /Library/Homebrew/requirements/python_dependency.rb | |
| parent | b262a009bab9ca35b950884f9e6023ac0ac7c283 (diff) | |
| download | homebrew-aab704358b9ee6ccdcaf26a802390d9a07be4944.tar.bz2 | |
depends_on :python sets PYTHONPATH internally
This applies only to non-brewed python:
The user will still have to set his PYTHONPATH
in order to import python modules in an
external python interpreter. However, a
warning will be displayed, now.
Further, during the build, the PYTHONPATH
will be set to Homebrew's global site-packages
so that software (like PyQt and others) that
need to `import sipconfig` in python can
find the brewed sip and its python module.
Diffstat (limited to 'Library/Homebrew/requirements/python_dependency.rb')
| -rw-r--r-- | Library/Homebrew/requirements/python_dependency.rb | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/Library/Homebrew/requirements/python_dependency.rb b/Library/Homebrew/requirements/python_dependency.rb index 7b86b34a9..962b111d2 100644 --- a/Library/Homebrew/requirements/python_dependency.rb +++ b/Library/Homebrew/requirements/python_dependency.rb @@ -61,7 +61,7 @@ class PythonInstalled < Requirement # We look for a brewed python or an external Python and store the loc of # that binary for later usage. (See Formula#python) satisfy :build_env => false do - @unsatisfied_because = "This formula needs #{@name}.\n" + @unsatisfied_because = '' if binary.nil? @unsatisfied_because += "But no `#{@name}` found in your PATH! Consider to `brew install #{@name}`." false @@ -76,8 +76,17 @@ class PythonInstalled < Requirement false elsif @min_version.major == 2 && `python -c "import sys; print(sys.version_info[0])"`.strip == "3" @unsatisfied_because += "Your `python` points to a Python 3.x. This is not supported." - false else + # If everything satisfied, we check the PYTHONPATH, that has to be set for non-brewed Python + if !brewed? && (ENV['PYTHONPATH'].nil? || !ENV['PYTHONPATH'].include?(global_site_packages)) then + opoo <<-EOS.undent + For non-brewed Python, you have to set the PYTHONPATH in order to + find brewed Python modules. + export PYTHONPATH=#{global_site_packages}:$PYTHONPATH + EOS + # This is just to shut up a second run of satisfy. + ENV['PYTHONPATH'] = global_site_packages.to_s + end true end end @@ -215,6 +224,7 @@ class PythonInstalled < Requirement ENV['PYTHONHOME'] = nil # to avoid fuck-ups. ENV['PYTHONNOUSERSITE'] = '1' + ENV['PYTHONPATH'] = global_site_packages.to_s unless brewed? # Python respects the ARCHFLAGS var if set. Shall we set them here? # ENV['ARCHFLAGS'] = ??? # FIXME ENV.append 'CMAKE_INCLUDE_PATH', incdir, ':' |
