schleuss / certbot_dns_freedns

MIT License
7 stars 1 forks source link

Update requirement to specify zope module #3

Open arsenicks opened 5 months ago

arsenicks commented 5 months ago

Hi, currently running on nginxproxymanager and we get this error which can be fixed by installing zope(pip install zope). From my understanding is the requirements for all the different certbot module are install at image build. I think zope is not there because it's not listed in the requirement of freedns module but it is a requirement.

Error: The 'certbot_dns_freedns.dns_freedns' plugin errored while loading: No module named 'zope'. You may need to remove or update this plugin. The Certbot log will contain the full error details and this should be reported to the plugin developer.

Fixed by pip install zope

Right now the version of certbot_dns_freedns in NPM is 0.1.0 but I just sent a PR for updating to 0.2.0. If this make change and we can add zope to the requirement we could modify the PR to get 0.3.0 which would include the correct requirement ?

PR: https://github.com/NginxProxyManager/nginx-proxy-manager/pull/3750

I guess this is where we should add zope as a requirement ? https://github.com/schleuss/certbot_dns_freedns/blob/main/setup.py#L6-L12

jc21 commented 4 months ago

Yep I'd say that dns plugin is the place to specify zope, but given these devs can be slow on fixing things like that, you can create a PR on this project and add zope in the base image:

https://github.com/NginxProxyManager/docker-nginx-full/blob/master/docker/Dockerfile.certbot#L37

and that should unblock things for the future.

EDIT: I've added zope to my project as mentioned.

arsenicks commented 4 months ago

Hi, thanks for replying to my issue. Sure I'm discussing this in my PR in NPM I just realized you was the one replying to my NPM PR! I was surprised I got a reply from npm contributor so quick :P

only-su commented 3 months ago

hey, I was setting this project up just now and I still have this issue. When trying to run the service I get:

certbot-freedns-1  | The 'certbot_dns_freedns.dns_freedns' plugin errored while loading: No module named 'zope'. You may need to remove or update this plugin. The Certbot log will contain the full error details and this should be reported to the plugin developer.
certbot-freedns-1  | Ask for help or search for solutions at https://community.letsencrypt.org.
certbot-freedns-1 exited with code 1

Does it have a known workaround or should I wait for the solution to reach the package?

jc21 commented 3 months ago

I can confirm that pip list | grep zope indeed shows a lot of the zope packages. pip list | grep Zope shows just one. pip install zope says everything is already installed. So I'm not sure if the capital Z makes a difference in python packages or not...

only-su commented 3 months ago

pip install zope for me exits on error also

9.516   Installing build dependencies: finished with status 'error'
9.529   error: subprocess-exited-with-error
9.529
9.529   × pip subprocess to install build dependencies did not run successfully.
9.529   │ exit code: 1
9.529   ╰─> [127 lines of output]
9.529       Collecting setuptools
9.529         Using cached setuptools-70.3.0-py3-none-any.whl.metadata (5.8 kB)
9.529       Collecting wheel
9.529         Downloading wheel-0.43.0-py3-none-any.whl.metadata (2.2 kB)
9.529       Collecting persistent
9.529         Downloading persistent-6.0.tar.gz (131 kB)
9.529            ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 131.8/131.8 kB 3.3 MB/s eta 0:00:00
9.529         Preparing metadata (setup.py): started
9.529         Preparing metadata (setup.py): finished with status 'done'
9.529       Collecting zope.deferredimport (from persistent)
9.529         Downloading zope.deferredimport-5.0-py3-none-any.whl.metadata (5.1 kB)
9.529       Collecting zope.interface (from persistent)
9.529         Downloading zope.interface-6.4.post2.tar.gz (294 kB)
9.529            ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 294.5/294.5 kB 13.2 MB/s eta 0:00:00
9.529         Preparing metadata (setup.py): started
9.529         Preparing metadata (setup.py): finished with status 'done'
9.529       Collecting cffi (from persistent)
9.529         Downloading cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl.metadata (1.5 kB)
9.529       Collecting pycparser (from cffi->persistent)
9.529         Downloading pycparser-2.22-py3-none-any.whl.metadata (943 bytes)
9.529       Collecting zope.proxy (from zope.deferredimport->persistent)
9.529         Downloading zope.proxy-5.2.tar.gz (44 kB)
9.529            ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 44.0/44.0 kB 12.6 MB/s eta 0:00:00
9.529         Preparing metadata (setup.py): started
9.529         Preparing metadata (setup.py): finished with status 'done'
9.529       Using cached setuptools-70.3.0-py3-none-any.whl (931 kB)
9.529       Downloading wheel-0.43.0-py3-none-any.whl (65 kB)
9.529          ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 65.8/65.8 kB 15.6 MB/s eta 0:00:00
9.529       Downloading cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl (487 kB)
9.529          ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 487.1/487.1 kB 35.7 MB/s eta 0:00:00
9.529       Downloading zope.deferredimport-5.0-py3-none-any.whl (10.0 kB)
9.529       Downloading pycparser-2.22-py3-none-any.whl (117 kB)
9.529          ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 117.6/117.6 kB 16.7 MB/s eta 0:00:00
9.529       Building wheels for collected packages: persistent, zope.interface, zope.proxy
9.529         Building wheel for persistent (setup.py): started
9.529         Building wheel for persistent (setup.py): finished with status 'error'
9.529         error: subprocess-exited-with-error
9.529
9.529         × python setup.py bdist_wheel did not run successfully.
9.529         │ exit code: 1
9.529         ╰─> [67 lines of output]
9.529             /usr/local/lib/python3.12/site-packages/setuptools/__init__.py:80: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
9.529             !!
9.529
9.529                     ********************************************************************************
9.529                     Requirements should be satisfied by a PEP 517 installer.
9.529                     If you are using pip, you can try `pip install --use-pep517`.
9.529                     ********************************************************************************
9.529
9.529             !!
9.529               dist.fetch_build_eggs(dist.setup_requires)
9.529             running bdist_wheel
9.529             running build
9.529             running build_py
9.529             creating build
9.529             creating build/lib.linux-x86_64-cpython-312
9.529             creating build/lib.linux-x86_64-cpython-312/persistent
9.529             copying src/persistent/picklecache.py -> build/lib.linux-x86_64-cpython-312/persistent
9.529             copying src/persistent/dict.py -> build/lib.linux-x86_64-cpython-312/persistent
9.529             copying src/persistent/list.py -> build/lib.linux-x86_64-cpython-312/persistent
9.529             copying src/persistent/mapping.py -> build/lib.linux-x86_64-cpython-312/persistent
9.529             copying src/persistent/_compat.py -> build/lib.linux-x86_64-cpython-312/persistent
9.529             copying src/persistent/timestamp.py -> build/lib.linux-x86_64-cpython-312/persistent
9.529             copying src/persistent/_ring_build.py -> build/lib.linux-x86_64-cpython-312/persistent
9.529             copying src/persistent/persistence.py -> build/lib.linux-x86_64-cpython-312/persistent
9.529             copying src/persistent/interfaces.py -> build/lib.linux-x86_64-cpython-312/persistent
9.529             copying src/persistent/__init__.py -> build/lib.linux-x86_64-cpython-312/persistent
9.529             copying src/persistent/wref.py -> build/lib.linux-x86_64-cpython-312/persistent
9.529             copying src/persistent/ring.py -> build/lib.linux-x86_64-cpython-312/persistent
9.529             creating build/lib.linux-x86_64-cpython-312/persistent/tests
9.529             copying src/persistent/tests/test_wref.py -> build/lib.linux-x86_64-cpython-312/persistent/tests
9.529             copying src/persistent/tests/test_list.py -> build/lib.linux-x86_64-cpython-312/persistent/tests
9.529             copying src/persistent/tests/attrhooks.py -> build/lib.linux-x86_64-cpython-312/persistent/tests
9.529             copying src/persistent/tests/test_picklecache.py -> build/lib.linux-x86_64-cpython-312/persistent/tests
9.529             copying src/persistent/tests/utils.py -> build/lib.linux-x86_64-cpython-312/persistent/tests
9.529             copying src/persistent/tests/test_timestamp.py -> build/lib.linux-x86_64-cpython-312/persistent/tests
9.529             copying src/persistent/tests/test_compile_flags.py -> build/lib.linux-x86_64-cpython-312/persistent/tests
9.529             copying src/persistent/tests/test_docs.py -> build/lib.linux-x86_64-cpython-312/persistent/tests
9.529             copying src/persistent/tests/cucumbers.py -> build/lib.linux-x86_64-cpython-312/persistent/tests
9.529             copying src/persistent/tests/test_ring.py -> build/lib.linux-x86_64-cpython-312/persistent/tests
9.529             copying src/persistent/tests/test_mapping.py -> build/lib.linux-x86_64-cpython-312/persistent/tests
9.529             copying src/persistent/tests/test_persistence.py -> build/lib.linux-x86_64-cpython-312/persistent/tests
9.529             copying src/persistent/tests/test__compat.py -> build/lib.linux-x86_64-cpython-312/persistent/tests
9.529             copying src/persistent/tests/__init__.py -> build/lib.linux-x86_64-cpython-312/persistent/tests
9.529             running egg_info
9.529             writing src/persistent.egg-info/PKG-INFO
9.529             writing dependency_links to src/persistent.egg-info/dependency_links.txt
9.529             writing requirements to src/persistent.egg-info/requires.txt
9.529             writing top-level names to src/persistent.egg-info/top_level.txt
9.529             reading manifest file 'src/persistent.egg-info/SOURCES.txt'
9.529             reading manifest template 'MANIFEST.in'
9.529             adding license file 'LICENSE.txt'
9.529             writing manifest file 'src/persistent.egg-info/SOURCES.txt'
9.529             copying src/persistent/_compat.h -> build/lib.linux-x86_64-cpython-312/persistent
9.529             copying src/persistent/_timestamp.c -> build/lib.linux-x86_64-cpython-312/persistent
9.529             copying src/persistent/cPersistence.c -> build/lib.linux-x86_64-cpython-312/persistent
9.529             copying src/persistent/cPersistence.h -> build/lib.linux-x86_64-cpython-312/persistent
9.529             copying src/persistent/cPickleCache.c -> build/lib.linux-x86_64-cpython-312/persistent
9.529             copying src/persistent/ring.c -> build/lib.linux-x86_64-cpython-312/persistent
9.529             copying src/persistent/ring.h -> build/lib.linux-x86_64-cpython-312/persistent
9.529             running build_ext
9.529             generating cffi module 'build/temp.linux-x86_64-cpython-312/persistent._ring.c'
9.529             creating build/temp.linux-x86_64-cpython-312
9.529             building 'persistent.cPersistence' extension
9.529             creating build/temp.linux-x86_64-cpython-312/src
9.529             creating build/temp.linux-x86_64-cpython-312/src/persistent
9.529             gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/usr/local/include/python3.12 -c src/persistent/cPersistence.c -o build/temp.linux-x86_64-cpython-312/src/persistent/cPersistence.o
9.529             error: command 'gcc' failed: No such file or directory
9.529             [end of output]
9.529
9.529         note: This error originates from a subprocess, and is likely not a problem with pip.
9.529         ERROR: Failed building wheel for persistent
9.529         Running setup.py clean for persistent
9.529         Building wheel for zope.interface (setup.py): started
9.529         Building wheel for zope.interface (setup.py): finished with status 'done'
9.529         Created wheel for zope.interface: filename=zope.interface-6.4.post2-cp312-cp312-linux_x86_64.whl size=192105 sha256=d74fbd6e75ae06bcda886249369099b6fee1418c79dee5dbbdfaaf0a90c49ddd
9.529         Stored in directory: /root/.cache/pip/wheels/57/92/a1/98de5346be3ac7c88fcb6444f3c0fee4f2ca24b9da1aacece4
9.529         Building wheel for zope.proxy (setup.py): started
9.529         Building wheel for zope.proxy (setup.py): finished with status 'done'
9.529         Created wheel for zope.proxy: filename=zope.proxy-5.2-cp312-cp312-linux_x86_64.whl size=30516 sha256=90f07d89116cf88cadef213adacfcb60564a9095b5527339529308a56a2b3e09
9.529         Stored in directory: /root/.cache/pip/wheels/10/6f/53/44081c4542f17dd4a8099aa3ddfab314b506c1db9721432d4f
9.529       Successfully built zope.interface zope.proxy
9.529       Failed to build persistent
9.529       ERROR: Could not build wheels for persistent, which is required to install pyproject.toml-based projects
9.529
9.529       [notice] A new release of pip is available: 24.0 -> 24.1.2
9.529       [notice] To update, run: pip install --upgrade pip
9.529       [end of output]
9.529
9.529   note: This error originates from a subprocess, and is likely not a problem with pip.
9.531 error: subprocess-exited-with-error
9.531
9.531 × pip subprocess to install build dependencies did not run successfully.
9.531 │ exit code: 1
9.531 ╰─> See above for output.
9.531
9.531 note: This error originates from a subprocess, and is likely not a problem with pip.
9.558
9.558 [notice] A new release of pip is available: 24.0 -> 24.1.2
9.558 [notice] To update, run: pip install --upgrade pip