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

Reply via email to