'How does pip-compile manage its input and output files?

When invoking pip-compile like this:

pip-compile -i https://pypi.our-company.com/ 
      --no-emit-trusted-host --no-emit-find-links
       requirements/requirements.in.txt 
       2> requirements/hac-reqs1.txt

the following surprising [to me anyways..] behavior occurs:

  • there is no output to stdout (it goes to stderr which is why i use 2>)
  • The input file requirements/requirements.in.txt is overwritten with the output contents (which are also the same as the stderr output)

I just want a more normal behavior along the lines of either

  • pip-compile <input_file> <output_file>
  • pip-compile <input_file> > <output_file>

Is that possible? If not then how is the <input file> supposed to be protected from being overwritten ?



Solution 1:[1]

As documented in the README.rst (and published at GitHub and PyPI):

To output the pinned requirements in a filename other than requirements.txt, use --output-file filename

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 phd