Open arsenicks opened 5 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.
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
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?
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...
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
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