This error is being triggered by an outdated and badly behaved module that contains the run_cmdb_worker management command.
Anything that relies on the presence of BASE_DIR in settings is bad behaviour. This is an entirely arbitrary variable name that might not even be present in a non-default configuration, and it effectively a "private" variable. There are better ways to determine the Django base directory (although reliance on same is also questionable as it probably assumes a specific Django layout, which is also poor behaviour). If you insist on using it, then simply wrap BASE_DIR def with a str() cast, or use .as_posix() member, i.e. BASE_DIR = str(Path(__file__).resolve().parent.parent) This may invalidate other uses in your settings module though, for example: BASE_DIR / 'someothervalue' If your change does not trigger an error otherwise, then you are probably fine. Regards, David On Mon, Apr 24, 2023 at 2:21 AM DL <[email protected]> wrote: > Django 4.2 > Python 3.10.10 > > # python manage.py run_cmdb_worker > Traceback (most recent call last): > File "/usr/local/python/lib/python3.10/pkgutil.py", line 417, in > get_importer > importer = sys.path_importer_cache[path_item] > KeyError: PosixPath('/www/cloudadmin') > > During handling of the above exception, another exception occurred: > > Traceback (most recent call last): > File "/www/cloudadmin/manage.py", line 22, in <module> > main() > File "/www/cloudadmin/manage.py", line 18, in main > execute_from_command_line(sys.argv) > File > "/opt/.pyvenv/lib/python3.10/site-packages/django/core/management/__init__.py", > line 442, in execute_from_command_line > utility.execute() > File > "/opt/.pyvenv/lib/python3.10/site-packages/django/core/management/__init__.py", > line 436, in execute > self.fetch_command(subcommand).run_from_argv(self.argv) > File > "/opt/.pyvenv/lib/python3.10/site-packages/django/core/management/__init__.py", > line 275, in fetch_command > klass = load_command_class(app_name, subcommand) > File > "/opt/.pyvenv/lib/python3.10/site-packages/django/core/management/__init__.py", > line 48, in load_command_class > module = import_module("%s.management.commands.%s" % (app_name, name)) > File "/usr/local/python/lib/python3.10/importlib/__init__.py", line 126, > in import_module > return _bootstrap._gcd_import(name[level:], package, level) > File "<frozen importlib._bootstrap>", line 1050, in _gcd_import > File "<frozen importlib._bootstrap>", line 1027, in _find_and_load > File "<frozen importlib._bootstrap>", line 1006, in > _find_and_load_unlocked > File "<frozen importlib._bootstrap>", line 688, in _load_unlocked > File "<frozen importlib._bootstrap_external>", line 883, in exec_module > File "<frozen importlib._bootstrap>", line 241, in > _call_with_frames_removed > File "/www/cloudadmin/apps/cmdb/management/commands/run_cmdb_worker.py", > line 2, in <module> > from cmdb.scheduler import Scheduler > File "/www/cloudadmin/apps/cmdb/scheduler.py", line 3, in <module> > from apscheduler.schedulers.background import BackgroundScheduler > File > "/opt/.pyvenv/lib/python3.10/site-packages/apscheduler/__init__.py", line > 1, in <module> > from pkg_resources import get_distribution, DistributionNotFound > File > "/opt/.pyvenv/lib/python3.10/site-packages/pkg_resources/__init__.py", line > 3260, in <module> > def _initialize_master_working_set(): > File > "/opt/.pyvenv/lib/python3.10/site-packages/pkg_resources/__init__.py", line > 3234, in _call_aside > f(*args, **kwargs) > File > "/opt/.pyvenv/lib/python3.10/site-packages/pkg_resources/__init__.py", line > 3272, in _initialize_master_working_set > working_set = WorkingSet._build_master() > File > "/opt/.pyvenv/lib/python3.10/site-packages/pkg_resources/__init__.py", line > 572, in _build_master > ws = cls() > File > "/opt/.pyvenv/lib/python3.10/site-packages/pkg_resources/__init__.py", line > 565, in __init__ > self.add_entry(entry) > File > "/opt/.pyvenv/lib/python3.10/site-packages/pkg_resources/__init__.py", line > 621, in add_entry > for dist in find_distributions(entry, True): > File > "/opt/.pyvenv/lib/python3.10/site-packages/pkg_resources/__init__.py", line > 1988, in find_distributions > importer = get_importer(path_item) > File "/usr/local/python/lib/python3.10/pkgutil.py", line 421, in > get_importer > importer = path_hook(path_item) > File "<frozen importlib._bootstrap_external>", line 1632, in > path_hook_for_FileFinder > File "<frozen importlib._bootstrap_external>", line 1504, in __init__ > File "<frozen importlib._bootstrap_external>", line 182, in _path_isabs > AttributeError: 'PosixPath' object has no attribute 'startswith' > > I must midify settings.py, change BASE_DIR, it can run > # BASE_DIR = Path(__file__).resolve().parent.parent > BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)) > > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/033f2f50-b073-4a97-9d66-6cc7f8a18049n%40googlegroups.com > <https://groups.google.com/d/msgid/django-users/033f2f50-b073-4a97-9d66-6cc7f8a18049n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAE5VhgVp2UiGc_Dh0jzcg4hTijXtKk8f0PE8axDpLKbky1xo_g%40mail.gmail.com.

