On Sat, Feb 20, 2021, at 5:33 PM, Mark Sapiro wrote: > On 2/20/21 3:07 PM, Marius Ghita wrote: > > I think a setup step might be missing from the developer's docs > > https://docs.mailman3.org/en/latest/devsetup.html > > > > If I go through the venv setup and when I call mailman info, the following > > error shows up (missing dependency). > > > > ... > > File "/home/_/Workspace/personal/mailman/src/mailman/__init__.py", line > > 38, in <module> > > from mailman.core.i18n import initialize > > File "/home/_/Workspace/personal/mailman/src/mailman/core/i18n.py", line > > 22, in <module> > > from flufl.i18n import PackageStrategy, registry > > ModuleNotFoundError: No module named 'flufl.i18n' > > > This is a packaging issue. The short answer is if in your venv you run > > pip uninstall flufl.bounce flufl.lock flufl.i18n > pip install flufl.bounce flufl.lock flufl.i18n > > to remove and reinstall the flufl modules, it will then work.
The larger issue is that Barry added support for PEP 420 implicit namespace[1] which is only supported by pip (setuptools) and not distutils as per [2]. So, `setup.py develop` isn’t able to install them properly. Which is why you have to uninstall and install them using `pip` after `python setup.py develop`. [1]: https://packaging.python.org/guides/packaging-namespace-packages/#native-namespace-packages [2]: https://packaging.python.org/guides/packaging-namespace-packages/#creating-a-namespace-package The solution is to replace all the places we have `python setup.py develop` to `pip install -e .` which results in an editable install and uses setuptools. I have done that in several places, but please point out anywhere you see `python setup.py develop` and we can replace it with `pip install -e .` . > > The longer answer is if you look in your venv's site-packages directory > before you remove the flufl modules, you will see > > flufl.bounce-3.0.2-py3.9.egg/ > flufl.i18n-3.1.5-py3.9.egg/ > flufl.lock-5.0.5-py3.9.egg/ > > and in easy-install.pth entries > > ./flufl.lock-5.0.5-py3.9.egg > ./flufl.i18n-3.1.5-py3.9.egg/ > ./flufl.bounce-3.0.2-py3.9.egg/ > > and after, in site-packages > > flufl/ > flufl.bounce-3.0.2.dist-info/ > flufl.bounce-3.0.2-py3.9-nspkg.pth > flufl.i18n-3.1.5.dist-info/ > flufl.i18n-3.1.5-py3.9-nspkg.pth > flufl.lock-5.0.5.dist-info/ > flufl.lock-5.0.5-py3.9-nspkg.pth > > and in site-packages/flufl > > bounce/ > i18n/ > lock/ > > This later configuration works fo importing any of flufl.bounce, > flufl.i18n and flufl.lock, but the former winds up looking in > flufl.bounce-3.0.2-py3.9.egg/ for everything and only finds flufl.bounce > and not the others. > > -- > Mark Sapiro <m...@msapiro.net> The highway is for gamblers, > San Francisco Bay Area, California better use your sense - B. Dylan > _______________________________________________ > Mailman-Developers mailing list -- mailman-developers@python.org > To unsubscribe send an email to mailman-developers-le...@python.org > https://mail.python.org/mailman3/lists/mailman-developers.python.org/ > Mailman FAQ: https://wiki.list.org/x/AgA3 > > Security Policy: https://wiki.list.org/x/QIA9 > -- thanks, Abhilash Raj (maxking) _______________________________________________ Mailman-Developers mailing list -- mailman-developers@python.org To unsubscribe send an email to mailman-developers-le...@python.org https://mail.python.org/mailman3/lists/mailman-developers.python.org/ Mailman FAQ: https://wiki.list.org/x/AgA3 Security Policy: https://wiki.list.org/x/QIA9