blob: 9976cfe680a7075362985f9b52da674c3dfa9622 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 | require "utils.rb"
module Language
  module Python
    def self.major_minor_version python
      version = /\d\.\d/.match `#{python} --version 2>&1`
      return unless version
      Version.new(version.to_s)
    end
    def self.each_python build, &block
      original_pythonpath = ENV["PYTHONPATH"]
      ["python", "python3"].each do |python|
        next if build.without? python
        version = self.major_minor_version python
        ENV["PYTHONPATH"] = if Formulary.factory(python).installed?
          nil
        else
          "#{HOMEBREW_PREFIX}/lib/python#{version}/site-packages"
        end
        block.call python, version if block
      end
      ENV["PYTHONPATH"] = original_pythonpath
    end
  end
end
 |