[Windows] ROOT 6.38 + Python 3.14: No module named 'libcppyy' [CEA 52284]


ROOT Version: 6.38.04
Platform: win64 (Windows 11)
Compiler: MSVC 19.50.35723.0 std201703


Dear ROOT Developers & Maintainers,

Here is an issue I have with root_v6.38.04.win64.python314.vc18.relwithdebinfo.zip that I installed on Windows 11:

PS C:\Users\...\downloads> Get-Date

mercredi 15 avril 2026 11:12:07


PS C:\Users\...\downloads> . .\root_v6.38.04.win64.python314.vc18.relwithdebinfo\root\bin\thisroot.ps1
PS C:\Users\...\downloads> py -3.14
Python 3.14.3 (tags/v3.14.3:323c59a, Feb  3 2026, 16:04:56) [MSC v.1944 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import ROOT
Traceback (most recent call last):
  File "<python-input-0>", line 1, in <module>
    import ROOT
  File "C:\Users\...\downloads\root_v6.38.04.win64.python314.vc18.relwithdebinfo\root\bin\ROOT\__init__.py", line 21, in <module>
    import cppyy
  File "C:\Users\...\downloads\root_v6.38.04.win64.python314.vc18.relwithdebinfo\root\bin\cppyy\__init__.py", line 74, in <module>
    from ._cpython_cppyy import *
  File "C:\Users\...\downloads\root_v6.38.04.win64.python314.vc18.relwithdebinfo\root\bin\cppyy\_cpython_cppyy.py", line 24, in <module>
    import libcppyy as _backend
ModuleNotFoundError: No module named 'libcppyy'
>>> exit()
PS C:\Users\...\downloads>

ROOT 6.38

Based on your post pyROOT on Windows11: module libcppyy* is missing (No module named 'libcppyy3_11') - #2 by bellenot I checked if there is a libcppyy*.pyd file:

PS C:\Users\...\downloads> gci ${ROOTSYS}\bin\libcppyy*
PS C:\Users\...\downloads>

But I found nothing.

I just listed (excerpt):

PS C:\Users\...\downloads> gci ${ROOTSYS}\bin\


    Répertoire: C:\Users\...\downloads\root_v6.38.04.win64.py
    thon314.vc18.relwithdebinfo\root\bin


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        15/04/2026     10:23                cppyy
d-----        15/04/2026     10:23                DistRDF
d-----        15/04/2026     10:23                JupyROOT
d-----        15/04/2026     10:23                ROOT
d-----        15/04/2026     10:23                __pycache__
------        11/03/2026     22:35         267776 bindexplib.exe
------        11/03/2026     22:35        3387392 bindexplib.pdb
[...]

ROOT 6.36

The test with the previous version seems to pass: root_v6.36.10.win64.python314.vc18.zip

PS C:\Users\...\downloads> . .\root_v6.36.10.win64.python314.vc18\root\bin\thisroot.ps1
PS C:\Users\...\downloads> py -3.14
Python 3.14.3 (tags/v3.14.3:323c59a, Feb  3 2026, 16:04:56) [MSC v.1944 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import ROOT
←[?25l←[?25l←[?25l>>> ←[?25h←[?25l←[?25le←[?25h←[?25l←[?25lx←[?25h←[?25l←[?25li←[?25h←[?25l←[?25lt←[?25h←[?25l←[?25l(←[?25h←[?25l←[?25l)←[?25h←[?25l←[?25h←[10D
PS C:\Users\...\downloads>

Note: The console issue seems to be similar to [CEA 47843] Windows: ROOT 6.36 + Python 3.13: Console (ANSI) Issue?

And dynamic libraries were found:

PS C:\Users\...\downloads> gci ${ROOTSYS}\bin\libcppyy*


    Répertoire : C:\Users\...\downloads\root_v6.36.10.win64.python314.vc18\root\bin


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
------        13/03/2026     15:15        1714688 libcppyy.pyd
------        13/03/2026     15:14         364032 libcppyy_backend.dll


PS C:\Users\...\downloads>

Discussion

  • Do you know where the No module named 'libcppyy' issue come from with ROOT 6.38?
  • How could you solve it?

Best regards,

That’s weird. I can reproduce the issue. And note that libcppyy.pyd is in the root\bin\cppyy directory:

C:\root-dev\temp>dir root\bin\cppyy\libcppyy.*
 Volume in drive C is Windows
 Volume Serial Number is 7E63-5D1A

 Directory of C:\root-dev\temp\root\bin\cppyy

15/04/2026  12:59            12,288 libcppyy.pyd
               1 File(s)         12,288 bytes
               0 Dir(s)  11,271,995,392 bytes free

Looking into it…

So I have no idea what’s wrong, but for the time being, try to copy libcppyy.pyd in the bin directory. I’m still trying to understand what’s happening here

Thank you very much for your workaround solution.

Here is the previous test:

PS C:\Users\...\downloads> Get-Date

mercredi 15 avril 2026 13:55:57


PS C:\Users\...\downloads> . .\root_v6.38.04.win64.python314.vc18.relwithdebinfo\root\bin\thisroot.ps1
PS C:\Users\...\downloads> py -3.14 -c "import ROOT"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
    import ROOT
  File "C:\Users\...\downloads\root_v6.38.04.win64.python314.vc18.relwithdebinfo\root\bin\ROOT\__init__.py", line 21, in <module>
    import cppyy
  File "C:\Users\...\downloads\root_v6.38.04.win64.python314.vc18.relwithdebinfo\root\bin\cppyy\__init__.py", line 74, in <module>
    from ._cpython_cppyy import *
  File "C:\Users\...\downloads\root_v6.38.04.win64.python314.vc18.relwithdebinfo\root\bin\cppyy\_cpython_cppyy.py", line 24, in <module>
    import libcppyy as _backend
ModuleNotFoundError: No module named 'libcppyy'
PS C:\Users\...\downloads>

After copying the dynamic library, import ROOT succeeded:

PS C:\Users\...\downloads> cp ${ROOTSYS}\bin\cppyy\libcppyy.pyd ${ROOTSYS}\bin
PS C:\Users\...\downloads> py -3.14 -c "import ROOT"
PS C:\Users\...\downloads>

Best regards,