I updated another repository to Pants 2.7.1 (I lik...
# general
b
I updated another repository to Pants 2.7.1 (I like to keep one of our repos on the bleeding edge, and the others on stable) and found that a few pex packages we generate were broken; they both complained that one of our modules wasn't present, when it was definitely in the pex. I narrowed the issue down to the 2.7.1rc0 release with all the pex-related updates. Apparently, our pexes were being run with `execution_mode="venv"`; switching them over to
execution_mode="zipapp"
with 2.7.1rc0 seems to fix the issue. I'm not a Python packaging expert by a long shot, so I'm not entirely sure how this distinction would have such a big effect. Has anybody else seen this? Is there additional information I could provide that might be useful here? Thanks in advance 🙇
e
This sounds like you have duplicate sources of a package and that package is not a namespace package. With that sort of setup, which package gets loaded is luck of the draw (~sys.path ordering). If this is it, you were simply lucky before. To confirm, you should be able to list the zipapp zip and grep for the package containing the missing module. You should find that package dir in more than one place.