Can't build cross-platform pex containing doit due to file-watching dependencies
See original GitHub issueI’m trying to use pex to create a cross-platform (Mac/Linux) executable containing doit, but unfortunately this is failing due to the extras_require dictionary in doit’s setup.py file that guards against installing either macfsevents or pyinotify based on the value of sys.platform. It seems that pex is not capable of processing the sys.platform environmental marker with respect to the various target platforms for the PEX being created (see the issue I opened on pex for more info: https://github.com/pantsbuild/pex/issues/455).
I think ideally pex would be capable of processing those environmental markers, but according to that issue it seems to be a difficult thing to support. As an alternative, do you have any thoughts about how we could change doit to support this use case?
One idea I had - I don’t actually need doit’s file watching functionality for my particular use case, and from #101 I understand this isn’t available on Windows despite doit otherwise supporting Windows. Could file watching be turned into an optional dependency for doit in setup.py?
Issue Analytics
- State:
- Created 6 years ago
- Comments:11 (8 by maintainers)

Top Related StackOverflow Question
@Kwpolska thanks. that was easy. now doit has wheel packages 😃
But I notice that
pyinotifyhas no wheels. @kevincondoitwheel helps in any way?Sure thing, I’ll put up a PR to contribute my story when I get a little closer to completing the project.