← index #4972Issue #2679
Off-topic · high · value 0.217
QUERY · ISSUE

Python file can't import another py file

openby fei2020opened 2019-08-05updated 2020-05-09
port-webassembly

I embed javascript port into my emscripten application. mp_js_do_str works fine in my c code.
And that pyexec_file invoke a python file is fine too. i.e. upy works in web application. But The python file can't "import" another module which is also a python file in the same directory.
I test it in emscripten MEMFS root directory "/".

This is the gist below:

	FILE* fp = NULL;
	fp = fopen("t2.py", "w");
	fprintf(fp, "import woxiao\nwoxiao.HUDPrint(\"print by t2.py\")\n");
	fclose(fp);

	fp = fopen("t1.py", "w");
	//fprintf(fp, "import woxiao\nwoxiao.HUDPrint(\"print by t1.py\")\ntry:\nimport t2\nwoxiao.HUDPrint(\"+ import t2 done\")\npass\nexcept ImportError:\nwoxiao.HUDPrint(\"- import t2 failed\")\n");
	fprintf(fp, "import woxiao\nwoxiao.HUDPrint(\"print by t1.py\")\nimport t2\n");
	fclose(fp);

	//pyexec_file ("t2.py");  //works fine
	pyexec_file ("t1.py");  // can't import t2

ps. "woxiao.HUDPrint" is just a debug print function in my own "woxiao" module which is extended in my C code. And it works fine.

CANDIDATE · ISSUE

Error when using import in main.py on ESP12E

closedby andreybavtopened 2016-12-12updated 2017-06-21

I can't manage to have a startup script (main.py) containing any import.
For example if I save a main.py with the contents of

print(123)

then everything works fine, the number is printed at startup, however, if for example I change the code to:

import time

then the error occurs:

File "main.py", line 1
SyntaxError: invalid syntax

Do you have any clue why that might happen?

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied