[Mailman-Developers] Re: Development setup confusion
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 > > from mailman.core.i18n import initialize > > File "/home/_/Workspace/personal/mailman/src/mailman/core/i18n.py", line > > 22, in > > 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 The highway is for gamblers, > San Francisco Bay Area, Californiabetter 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
[Mailman-Developers] Re: Development setup confusion
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 > from mailman.core.i18n import initialize > File "/home/_/Workspace/personal/mailman/src/mailman/core/i18n.py", line > 22, in > 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 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 The highway is for gamblers, San Francisco Bay Area, Californiabetter 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
[Mailman-Developers] Re: Development setup confusion
Do note that these two commands, from the Vagrantfile, work if you run them in the venv only (not sure why) pip3 install --upgrade pip pip3 install -U setuptools Just noticed now because I've nuked my local folder and tried with a clean git clone again On Sun, Feb 21, 2021 at 1:52 AM Marius Ghita wrote: > > > On Sun, Feb 21, 2021 at 1:28 AM 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 >> > from mailman.core.i18n import initialize >> > File "/home/_/Workspace/personal/mailman/src/mailman/core/i18n.py", >> line >> > 22, in >> > from flufl.i18n import PackageStrategy, registry >> > ModuleNotFoundError: No module named 'flufl.i18n' >> >> >> How did you install Mailman core in your venv? Mailman core's setup >> includes flufl.i18n>=2.0 in it's requirements. >> >> > I have a folder ~/Workspace/personal where I ran: > > $ python3 -m venv venv3 > $ source ./venv3/bin/activate > $ cd mailman > $ python setup.py develop > > > For a second there I considered that the issue might have been that the > dependency expects and older Python version. I have 3.9 on my desktop, so I > spun up a Vagrant box which has python3.6 with the same issue. > > Vagrantfile to reproduce the issue > https://gist.github.com/mhitza/4dbec7d0efc6a94e658b5dd085e411ef > > ___ 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
[Mailman-Developers] Re: Development setup confusion
On Sun, Feb 21, 2021 at 1:28 AM 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 > > from mailman.core.i18n import initialize > > File "/home/_/Workspace/personal/mailman/src/mailman/core/i18n.py", > line > > 22, in > > from flufl.i18n import PackageStrategy, registry > > ModuleNotFoundError: No module named 'flufl.i18n' > > > How did you install Mailman core in your venv? Mailman core's setup > includes flufl.i18n>=2.0 in it's requirements. > > I have a folder ~/Workspace/personal where I ran: $ python3 -m venv venv3 $ source ./venv3/bin/activate $ cd mailman $ python setup.py develop For a second there I considered that the issue might have been that the dependency expects and older Python version. I have 3.9 on my desktop, so I spun up a Vagrant box which has python3.6 with the same issue. Vagrantfile to reproduce the issue https://gist.github.com/mhitza/4dbec7d0efc6a94e658b5dd085e411ef ___ 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
[Mailman-Developers] Re: Development setup confusion
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 > from mailman.core.i18n import initialize > File "/home/_/Workspace/personal/mailman/src/mailman/core/i18n.py", line > 22, in > from flufl.i18n import PackageStrategy, registry > ModuleNotFoundError: No module named 'flufl.i18n' How did you install Mailman core in your venv? Mailman core's setup includes flufl.i18n>=2.0 in it's requirements. > However, when I run just run tox, the .tox/qa/bin/mailman info command > works without any issues. Because .tox/qa is it's own venv that included all the dependencies -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, Californiabetter 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