我知道many,many,many,many次被问过类似的问题。
我仔细阅读了它们,并尝试了许多解决方案,但显然我找不到使它适合我的方法。所以我相信这个问题不会重复。
我具有以下结构:
+ C:\etc.\etc.\maindir <---Root Directory
| mymainfile.py
| __init__.py <---this is empty
+ \AuxFun <--- Subfolder
| __init__.py <---this contains: "from . import *"
| myauxfun1.py
| myauxfun3.py
现在,在我的主要(mymainfile.py
)内部,我有:
from AuxFun.myauxfun1 import AuxFun1
import AuxFun.myauxfun3 as AuxFun3
每个myauxfun
都包含一个函数:
def fun()
...
return output
该脚本在带有Python 3.7(和IPython 6.5)的jupyter Notebook 5.6.0上完美运行
但是在Spyder 3.3.1和Python 3.7上不起作用。
,并且在尝试导入时,控制台返回:
ModuleNotFoundError: No module named 'AuxFun'
最初,我尝试不包含任何__init__.py
文件,并且在子文件夹中完全空白的__init__.py
。
我还尝试了以下方法:
from AuxiliaryFunctions import *
from .AuxFun.myauxfun1 import AuxFun1
import KR.AuxFun.myauxfun2 as AuxFun2
分别返回:
ModuleNotFoundError: No module named 'AuxiliaryFunctions'
ModuleNotFoundError: No module named '__main__.AuxiliaryFunctions'; '__main__' is not a package
ModuleNotFoundError: No module named 'KR'
有趣的是(对我来说)自动完成功能可以识别文件夹和文件。
即,如果我键入:“ .
⇥Tab ”,则会显示AuxFun
子文件夹。
同样,键入“ .AuxFun.
⇥Tab ”将显示子文件夹中的所有auxfun脚本。