ValueError and OSError - Stumped

Hello,

I was in the middle of a Django project when these errors popped up. The thing is, I can’t really point to where this error might have occured, because between my last successful run and when the error showed up I did a lot of new coding, updates and weeding at random.

I have searched Stackoverflow and other sources and the issues and fixes don’t really apply to my situation since I tried out some of the fixes, nothing worked. I have been trying to fix this for close to a week now without success. I am stumped.

Any suggestions would be appreciated.

Errors are:

ValueError: source code string cannot contain null bytes

OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: '<frozen importlib._bootstrap>'

The traceback:

(ehrvenv) C:\Users\Fredrick Ughimi\mnehr>python manage.py runserver

Exception in thread django-main-thread:
Traceback (most recent call last):
  File "C:\Users\Fredrick Ughimi\AppData\Local\Programs\Python\Python38-32\lib\threading.py", line 932, in _bootstrap_inner        
    self.run()
  File "C:\Users\Fredrick Ughimi\AppData\Local\Programs\Python\Python38-32\lib\threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\utils\autoreload.py", line 53, in wrapper
    fn(*args, **kwargs)
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\core\management\commands\runserver.py", line 110, in inner_run
    autoreload.raise_last_exception()
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\utils\autoreload.py", line 76, in raise_last_exception
    raise _exception[1]
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\core\management\__init__.py", line 357, in execute
    autoreload.check_errors(django.setup)()
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\utils\autoreload.py", line 53, in wrapper
    fn(*args, **kwargs)
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\apps\registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\apps\config.py", line 90, in create
    module = import_module(entry)
  File "C:\Users\Fredrick Ughimi\AppData\Local\Programs\Python\Python38-32\lib\importlib\__init__.py", line 127, in import_module  
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 779, in exec_module
  File "<frozen importlib._bootstrap_external>", line 916, in get_code
  File "<frozen importlib._bootstrap_external>", line 846, in source_to_code
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ValueError: source code string cannot contain null bytes
Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\core\management\__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\core\management\base.py", line 330, in run_from_argv       
    self.execute(*args, **cmd_options)
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\core\management\commands\runserver.py", line 61, in execute
    super().execute(*args, **options)
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\core\management\base.py", line 371, in execute
    output = self.handle(*args, **options)
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\core\management\commands\runserver.py", line 96, in handle 
    self.run(**options)
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\core\management\commands\runserver.py", line 103, in run
    autoreload.run_with_reloader(self.inner_run, **options)
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\utils\autoreload.py", line 614, in run_with_reloader       
    start_django(reloader, main_func, *args, **kwargs)
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\utils\autoreload.py", line 599, in start_django
    reloader.run(django_main_thread)
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\utils\autoreload.py", line 314, in run
    self.run_loop()
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\utils\autoreload.py", line 320, in run_loop
    next(ticker)
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\utils\autoreload.py", line 360, in tick
    for filepath, mtime in self.snapshot_files():
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\utils\autoreload.py", line 376, in snapshot_files
    for file in self.watched_files():
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\utils\autoreload.py", line 274, in watched_files
    yield from iter_all_python_module_files()
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\utils\autoreload.py", line 105, in iter_all_python_module_files
    return iter_modules_and_files(modules, frozenset(_error_files))
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\utils\autoreload.py", line 141, in iter_modules_and_files
    resolved_path = path.resolve(strict=True).absolute()
  File "C:\Users\Fredrick Ughimi\AppData\Local\Programs\Python\Python38-32\lib\pathlib.py", line 1177, in resolve
    s = self._flavour.resolve(self, strict=strict)
  File "C:\Users\Fredrick Ughimi\AppData\Local\Programs\Python\Python38-32\lib\pathlib.py", line 200, in resolve
    return self._ext_to_normal(_getfinalpathname(s))
OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: '<frozen importlib._bootstrap>'

(ehrvenv) C:\Users\Fredrick Ughimi\mnehr>

Try doing a python manage.py check to see where the error shows up with it - it might provide more useful information.

The key appears to be:

ValueError: source code string cannot contain null bytes

Somewhere in your code you have a string with a null byte in it. I’m not sure how I would go about finding it in windows.

Hello Ken,

Thank you for your suggestion and insight. I totally forgot about python manage.py check. Thanks.

Kind regards.

Hello,

It seems the error is not allowing any command to the executed. I have the same traceback with makemigrations and migrate commands.

Here is the python manage.py check traceback:

Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\core\management\__init__.py", line 377, in execute
    django.setup()
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\apps\registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "C:\Users\Fredrick Ughimi\mnehr\ehrvenv\lib\site-packages\django\apps\config.py", line 90, in create
    module = import_module(entry)
  File "C:\Users\Fredrick Ughimi\AppData\Local\Programs\Python\Python38-32\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 779, in exec_module
  File "<frozen importlib._bootstrap_external>", line 916, in get_code
  File "<frozen importlib._bootstrap_external>", line 846, in source_to_code
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ValueError: source code string cannot contain null bytes

Doing some googling around, it appears that this error appears to show up with some type of misconfigurations. One common thread on these is that it’s a case where a Python library is using a native library - the Python library is installed but the native library isn’t.

I’d do a very careful evaluation of every Python library installed to verify that any native libraries associated with them are installed and available.

You might want to start with whatever is the newest functionality you’ve added to your project, or any updates you’ve applied recently.

Hello Ken,

Thank you once again for your response and efforts to get me pass through this.

I installed three external libraries: crispy_forms, slick_reporting and flatpickr. They were all doing well up until the errors showed. I can’t figure out the native libraries associated with them. How do I check if they are installed or not? I have uninstalled and reinstalled all the external libraries. No change.

I have checked my codes going from one application to another. Everything seems to be in place. The project is fairly large though.

I really don’t know what to do next.

Kind regards.

Hmmm…

Next thing I can think to check would try and verify whether it’s environmental or associated with your project.

I’d try creating a new project from scratch - different directory but same virtual environment to see if that project works without problems. If it works, then you know that you’ve got something wrong in one of your files. If it doesn’t work, then you’ve got a corrupted virtual environment.

Hello Ken.

I think your suggestion (creating a new project from scratch) is the most feasible thing to do next, though tedious. Is there a shortcut to doing this? Would copying the applications to the new environment one after the other and in between running the local server and checking for issues as I go along. Would this work?

Thank you, sir.

I wasn’t even thinking of doing that much. I’d create a new directory for the project, activate the virtualenv, and run django-admin startproject test. Then go into the test directory and run manage.py check followed by manage.py shell.

This will at least verify that the fundamentals are working.

If that all works, then I’d go back to the original project and try something as simple as disabling all the apps except your base app and trying it that way - then activating apps one-by-one.

Thank you, Ken. Very much appreciated.

The make migrations command creates an empty init.py file in the migrations folder, which causes me issues in Windows 10. To avoid this, I have added a random import statement in init.py. I know Init files are trivial in Python, but Django seems to have some issues with it.