impossible to install pdf module on my virtual env

Hi all

It’s impossible for me to install pdf module such as wkhtml2pdf, xhtml2pdf, weasyprint, reportlab on my virtual env. When I do it, I receive this error :

Exception in thread django-main-thread:
Traceback (most recent call last):
** File “C:\Users\ansel\AppData\Local\Programs\Python\Python38-32\lib\threading.py”, line 932, in _bootstrap_inner**
** self.run()**
** File “C:\Users\ansel\AppData\Local\Programs\Python\Python38-32\lib\threading.py”, line 870, in run**
** self.target(self.args, self._kwargs)
** File “C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\utils\autoreload.py”, line 53, in wrapper
*
** fn(args, kwargs)
** File “C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\core\management\commands\runserver.py”, line 109, in inner_run
*
** autoreload.raise_last_exception()**
** File “C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\utils\autoreload.py”, line 76, in raise_last_exception**
** raise exception[1]**
** File "C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\core\management_init
.py", line 357, in execute**
** autoreload.check_errors(django.setup)()**
** File “C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\utils\autoreload.py”, line 53, in wrapper**
** fn(*args, kwargs)
** File "C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django_init
.py", line 24, in setup**
** apps.populate(settings.INSTALLED_APPS)**
** File “C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\apps\registry.py”, line 91, in populate**
** app_config = AppConfig.create(entry)**
** File “C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\apps\config.py”, line 90, in create**
** module = import_module(entry)**
** File "C:\Users\ansel\AppData\Local\Programs\Python\Python38-32\lib\importlib_init
.py", line 127, in import_module**
** return _bootstrap._gcd_import(name[level:], package, level)**
** File “”, line 1014, in _gcd_import**
** File “”, line 991, in find_and_load**
** File “”, line 973, in find_and_load_unlocked**
ModuleNotFoundError: No module named 'xhtml2pdf’
Traceback (most recent call last):
** File “manage.py”, line 21, in **
** main()**
** File “manage.py”, line 17, in main**
** execute_from_command_line(sys.argv)**
** File "C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\core\management_init
.py", line 401, in execute_from_command_line**
** utility.execute()**
** File "C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\core\management_init
.py", line 395, in execute**
** self.fetch_command(subcommand).run_from_argv(self.argv)**
** File “C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\core\management\base.py”, line 328, in run_from_argv**
** self.execute(args, cmd_options)
** File “C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\core\management\commands\runserver.py”, line 60, in execute
*
** super().execute(args, options)
** File “C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\core\management\base.py”, line 369, in execute
*
** output = self.handle(args, options)
** File “C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\core\management\commands\runserver.py”, line 95, in handle
*
** self.run(options)
** File “C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\core\management\commands\runserver.py”, line 102, in run**
** autoreload.run_with_reloader(self.inner_run, options)
** File “C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\utils\autoreload.py”, line 599, in run_with_reloader**
** start_django(reloader, main_func, args, kwargs)
** File “C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\utils\autoreload.py”, line 584, in start_django
*
** reloader.run(django_main_thread)**
** File “C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\utils\autoreload.py”, line 299, in run**
** self.run_loop()**
** File “C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\utils\autoreload.py”, line 305, in run_loop**
** next(ticker)**
** File “C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\utils\autoreload.py”, line 345, in tick**
** for filepath, mtime in self.snapshot_files():**
** File “C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\utils\autoreload.py”, line 361, in snapshot_files**
** for file in self.watched_files():**
** File “C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\utils\autoreload.py”, line 260, in watched_files**
** yield from iter_all_python_module_files()**
** File “C:\Users\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\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\ansel\OneDrive\Documents_PROJETS\Django\emeraude\emeraude\lib\site-packages\django\utils\autoreload.py”, line 141, in iter_modules_and_files**
** resolved_path = path.resolve(strict=True).absolute()**
** File “C:\Users\ansel\AppData\Local\Programs\Python\Python38-32\lib\pathlib.py”, line 1172, in resolve**
** s = self._flavour.resolve(self, strict=strict)**
** File “C:\Users\ansel\AppData\Local\Programs\Python\Python38-32\lib\pathlib.py”, line 200, in resolve**
** return self._ext_to_normal(_getfinalpathname(s))**
OSError: [WinError 123] La syntaxe du nom de fichier, de répertoire ou de volume est incorrecte: ''

can you help me?

Superficially, it looks like there might be some Windows dlls that are needed that aren’t currently installed. Last I checked, pip can’t install those dlls, you’ll need to find Windows installers for them. For example, the installer for wkhtmltopdf can be found at https://wkhtmltopdf.org/downloads.html.

This means that they aren’t installed in the virtual env, but at the system level. (But don’t confuse them with the Python libraries that use those dlls, which are installed in the virtual env.

Finally I installed linux and this problem was solved.
I believe Linux is much more suited to Django.
Thank you so much.