这是我项目的文件结构:
data
front_end_ui
- __init__.py
- ui.py
quizlib
- __init__.py
- classes.py
- data_structure.py
- quiz.py
- student.py
好吧,除了这是否是好的编程(可能是飞行的意大利面怪物)程序从ui.py运行,而在PyCharm中,从quizlib导入的工作:
然而在IDLE:
从ui.py的代码中可以看到的第一件事就是从quizlib的__init__.py导入的东西(只是在整个程序运行之前计算出来的几个绝对目录名,因为对于我的生活我无法获得相对改变目录的工作)。
除了在IDLE中没有。我能够让它工作的唯一方法是将整个quizlib复制到front_end_ui中。 (考虑到我是如何对它进行编码的,我不太清楚为什么它在我这样做时有效)如果我不能解决为什么这将是一个可接受的解决方案,但是随着这个项目提供的解释最好保留quizlib它在哪里。
有人可以解释一下这种行为吗?作为参考,我使用的是Python 3.4.3,如果需要,我会提供任何进一步的细节。提前谢谢。