You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Some modules are not successfully loaded by 'import pythonmonkey' on windows #445
I debugged through this and eventually found that in ctx-module.js::219 there is a regex check for whether the file path is absolute
Unfortunately on Windows, drive letters may be lowercase, and this was not caught by the regex.
existing code:
if (moduleIdentifier[0] === '/' || moduleIdentifier.match(/^[A-Z]:[/\]/)) // absolute paths
my local fix:
if (moduleIdentifier[0] === '/' || moduleIdentifier.match(/^[A-Za-z]:[/\]/)) // absolute paths
Standalone code to reproduce the issue
import pythonmonkey as pm
Relevant log output or backtrace
PS C:\dev\tsc> c:;cd'c:\dev\tsc';&'c:\Users\jac.fitzgerald\AppData\Local\Programs\Python\Python312\python.exe''c:\Users\jac.fitzgerald\.vscode\extensions\ms-python.debugpy-2024.10.0-win32-x64\bundled\libs\debugpy\adapter/../..\debugpy\launcher''53945''--''C:\dev\tsc\samples\call-embedding-lib.py'
Traceback (most recent call last):
File "C:\dev\tsc\samples\call-embedding-lib.py", line 2, in<module>
import pythonmonkey as pm
File "c:\Users\jac.fitzgerald\AppData\Local\Programs\Python\Python312\Lib\site-packages\pythonmonkey\__init__.py", line 17, in<module>
require("timers")
File "c:\Users\jac.fitzgerald\AppData\Local\Programs\Python\Python312\Lib\site-packages\pythonmonkey\require.py", line 429, in require
return createRequire(filename)(moduleIdentifier)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pythonmonkey.SpiderMonkeyError: Error in file c:\Users\jac.fitzgerald\AppData\Local\Programs\Python\Python312\Lib\site-packages\pythonmonkey\node_modules/ctx-module/ctx-module.js, on line 239, column 21:
Error: module not found -- searched ('c:/Users/jac.fitzgerald/AppData/Local/Programs/Python/Python312/Lib/site-packages/pythonmonkey/node_modules/core-js/stable/dom-exception') from c:/Users/jac.fitzgerald/AppData/Local/Programs/Python/Python312/Lib/site-packages/pythonmonkey/node_modules/core-js/actual/dom-exception/index.js
Stack Trace:
ctxRequire@c:\Users\jac.fitzgerald\AppData\Local\Programs\Python\Python312\Lib\site-packages\pythonmonkey\node_modules/ctx-module/ctx-module.js:122:7
Additional info if applicable
No response
What branch of PythonMonkey were you developing on? (If applicable)
Activity
fix(windows): make drive letter check case insensitive
wiwichips commentedon Oct 3, 2024
Awesome bug report @jacalata! I filed a PR on
ctx-modulewesgarland/ctx-module#9 and added you as a co-authorI'll keep this issue open while this remains an issue on PythonMonkey
wiwichips commentedon Dec 28, 2024
@wesgarland @Xmader would you mind reviewing this wesgarland/ctx-module#9 when you have the time?
mxrch commentedon Feb 6, 2025
@wiwichips I reviewed this and it works perfectly on Windows :) imho you can merge it
wiwichips commentedon Feb 6, 2025
@wesgarland @Xmader -- Please check out my PR on
ctx-module(wesgarland/ctx-module#9) it may possibly affect Bifrost2 on WindowsXmader commentedon Feb 6, 2025
Thanks @wiwichips and @mxrch! I believe only @wesgarland can merge it.
wiwichips commentedon Feb 12, 2025
@Xmader would you mind asking Wes to merge it, after you review it. It may possibly affect Bifrost2 on Windows