pip-tools unfortunately doesn't generate cross-platform lock files, so your locked requirements.txt may be different if you generate it on macos than if you generate it on Linux.
Edited to add: both Poetry and PDM do generate cross-platform locks.
Just generate a pip-tools lock file that includes ipython on both macos and Linux and you'll see differences. Only on macos does ipython depend on "appnope".
You won't run into it most of the time, but if you've got OS specific wheels you can have dependencies that require different requirements files for different OS.
Edited to add: both Poetry and PDM do generate cross-platform locks.