Lines Matching +full:pip +full:- +full:requirements +full:- +full:file
6 # SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
21 ) -> None:
25 class Requirements: class
26 """Collect and massage Python requirements."""
28 def __init__(self) -> None:
29 self.requirements = [] #type: List[str]
31 def adjust_requirement(self, req: str) -> str:
33 # allow inheritance #pylint: disable=no-self-use
39 def add_file(self, filename: str) -> None:
40 """Add requirements from the specified file.
42 This method supports a subset of pip's requirement file syntax:
46 * ``-r FILENAME`` to include another file.
53 m = re.match(r'-r\s+', line)
59 self.requirements.append(self.adjust_requirement(line))
61 def write(self, out: typing_util.Writable) -> None:
62 """List the gathered requirements."""
63 for req in self.requirements:
70 ) -> None:
71 """Call pip to install the requirements."""
78 # of Windows. Use a temporary file rather than the command line
81 # Windows, the subprocess can't open the file because this process
83 req_file_name = os.path.join(temp_dir, 'requirements.txt')
86 subprocess.check_call([sys.executable, '-m', 'pip'] +
89 ['-r', req_file_name])
91 DEFAULT_REQUIREMENTS_FILE = 'ci.requirements.txt'
93 def main() -> None:
96 parser.add_argument('--no-act', '-n',
99 parser.add_argument('--pip-install-option',
101 help="Pass this option to pip install")
102 parser.add_argument('--pip-option',
104 help="Pass this general option to pip")
105 parser.add_argument('--user',
107 const='--user',
109 " (short for --pip-install-option --user)")
110 parser.add_argument('files', nargs='*', metavar='FILE',
118 reqs = Requirements()