[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

1 Like

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,

1 Like