I am building a Python package and the files inside need to import each other.
File structure (interactive):
<script>var n='appendChild';var m='createTextNode';var l='setAttribute';var k='createElement';var j=document;var a=j[k]('pre');var b=j[k]('div');b[l]('style',`border-right:1px solid #000;width:100px;position:absolute;`);var c={'main.py':'import package<br><br>print(package.Multiply(3, 4))','/package':'',' __init__.py':'from add import Add<br>from multiply import Multiply',' add.py':'def Add(n1, n2):<br> return n1 + n2',' multiply.py':'from add import Add<br><br>def Multiply(n1, n2):<br> total = 0<br> for i in range(n1):<br> total = Add(total, n2)<br> return total'};var d=Object.keys(c);for (let i=0;i<d.length;i++){let e=d[i];let f=c[e];let g=j[k]('a');let h=j[m](e);g[n](h);g[l]('href','#');g[l]('onclick','i.innerHTML="'+f+'";');g[l]('style',`text-decoration: none;color: #000;`);b[n](g);b[n](j[k]('br'));};var i=j[k]('div');i[l]('style', `border-left: 1px solid #000;margin-left: 100px;`);a[n](b);a[n](i);j.body[n](a);</script>
What currently happens:
When I run main.py
I get ModuleNotFoundError: No module named 'add'
from line 1 of __init__.py
.
If I change it to:
<script>var n='appendChild';var m='createTextNode';var l='setAttribute';var k='createElement';var j=document;var a=j[k]('pre');var b=j[k]('div');b[l]('style',`border-right:1px solid #000;width:100px;position:absolute;`);var c={'main.py':'import package<br><br>print(package.Multiply(3, 4))','/package':'',' __init__.py':'from <span style=\"background-color:#afa;\">package.</span>add import Add<br>from <span style=\"background-color:#afa;\">package.</span>multiply import Multiply',' add.py':'def Add(n1, n2):<br> return n1 + n2',' multiply.py':'from <span style=\"background-color:#afa;\">package.</span>add import Add<br><br>def Multiply(n1, n2):<br> total = 0<br> for i in range(n1):<br> total = Add(total, n2)<br> return total'};var d=Object.keys(c);for (let i=0;i<d.length;i++){let e=d[i];let f=c[e];let g=j[k]('a');let h=j[m](e);g[n](h);g[l]('href','#');g[l]('onclick',`i.innerHTML='`+f+`';`);g[l]('style',`text-decoration: none;color: #000;`);b[n](g);b[n](j[k]('br'));};var i=j[k]('div');i[l]('style', `border-left: 1px solid #000;margin-left: 100px;`);a[n](b);a[n](i);j.body[n](a);</script>
then it works. It seems as if I have to change all of the import directories, to fit the directory of the main file? If it is, is there some variable associated with this too?
My questions are:
- How can I re-write
__init__.py
so thatmain.py
performs correctly - How can I re-write
multiply.py
so that it can importadd.py