PyFunceble: ModuleNotFoundError: No module named 'box'

Bug description

I wanted to do the final error check before updating the CoinBlockerLists. In order to be able to publish the lists as planned on 24.12.2020. But unfortunately there was only the following error:

pyfunceble -m -a --syntax -f "/home/user/URLsToScan.txt"
Traceback (most recent call last):
  File "/usr/bin/pyfunceble", line 33, in <module>
    sys.exit(load_entry_point('PyFunceble-dev==3.3.4', 'console_scripts', 'pyfunceble')())
  File "/usr/bin/pyfunceble", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib/python3.9/importlib/metadata.py", line 77, in load
    module = import_module(match.group('module'))
  File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/usr/lib/python3.9/site-packages/PyFunceble/__init__.py", line 61, in <module>
    from PyFunceble import config as cconfig
  File "/usr/lib/python3.9/site-packages/PyFunceble/config/__init__.py", line 53, in <module>
    from .loader import Loader
  File "/usr/lib/python3.9/site-packages/PyFunceble/config/loader.py", line 57, in <module>
    from box import Box
ModuleNotFoundError: No module named 'box'

All required packages have been installed, the same error also occurs with the non DEV version.

It is a bit frustrating that there are problems almost every time although I have not changed anything except installing the regular updates. I hope such problems can be avoided in the future.

Modifications under .PyFunceble.yaml

no

Reproduction

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Versions

OS: for example Arch Linux (5.10.1-custom1-1-ARCH) Python Version: 3x PyFunceble Version: 3.3.4-1

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 21 (21 by maintainers)

Commits related to this issue

Most upvoted comments

I updated the python-box and domain2idna which I maintain in the AUR.

Unfortunately, the following package is not matching the PyPi version.

community/python-dnspython 1:1.16.0-3 [installiert] 
    A DNS toolkit for Python  

It should be >=2.0.0.

I will have to write to the mailing list to ask for the status of that package 😞.

OK, I’ll take a look at it as soon as I can.

In your case @ZeroDot1, it will be pyfunceble -w 4 -a --syntax -f All.txt

Note: there is actually no WHOIS lookup in place if you use the --syntax argument. But the --no-whois has been replaced with --whois-lookup (a switch of the default value of the configuration).

@spirillen, is working on the docs right now. Until his work is merged here you can see what was deprecated at https://github.com/spirillen/PyFunceble/blob/4.x-patch/docs/usage/deprecated-variables.rst

*Sorry for the waiting time, had a very long day.

No problem, take your time. Rome was not built in a day.

Thanks for your good work, keep it up. I appreciate it very much.

This won’t be easy because using dnspython 1.6 means no DOT or DOH.

It won’t be updated until some other issues are fixed as per https://bugs.archlinux.org/task/68546.

Is python-dnspython-git (AUR) working on your machine?

*Sorry for the waiting time, had a very long day.

The box module sure makes some noise…

@ZeroDot1 What does this command gives you?

pip3 list | grep 'box'

Expected:

python-box                    5.2.0

Closing because I’m more focused on 4.0 and a temporary solution was presented (previous comment).

@ZeroDot1 AS a temporary solution: pip install python-box (from virtualenv presumly) OR aur-helper -S python-box (system-wide)

Own note for testing in alpha, @ZeroDot1 please fill in if I forgot one basis list

pyfunceble -dbr 6 -ex --dns 192.168.1.104:53 -w $(nproc --ignore=2) -a --database-type mariadb \
  -f https://gitlab.com/ZeroDot1/CoinBlockerLists/-/raw/master/hosts \
  -f https://gitlab.com/ZeroDot1/CoinBlockerLists/-/raw/master/hosts_optional \
  -f https://gitlab.com/ZeroDot1/CoinBlockerLists/-/raw/master/list.txt \
  -f https://gitlab.com/ZeroDot1/CoinBlockerLists/-/raw/master/list_optional.txt \
  -f https://gitlab.com/ZeroDot1/CoinBlockerLists/-/raw/master/list_browser.txt \
   --no-files

@funilrys Can you please this issue to the re-test project, if you decide to set it up?

Project repo: https://gitlab.com/ZeroDot1/CoinBlockerLists

The reason could lie in the fact you have been tested with the same version 😒

PyFunceble-dev==3.3.4 is the esact same as PyFunceble==3.3.4

The latest 3.x dev version is PyFunceble-dev==3.3.7 could you try to update the dev to this version and try again as the box error should have been fixed. (I had it too)

Could you also try the 4.x.alpha on your list??

In case you need a shortcut script I have one here: https://github.com/PyFunceble-Templates/pyfunceble-miniconda it will be using conda, but setup 3 environments, stable, dev and 4.x.alpha