我正在使用Eclipse和PyDev为名为Kivy的Python库开发。
我完成了正确的设置说明,从Eclipse开发和运行工作非常完美。
然而,当我或者更多namley,我的项目伙伴,尝试运行包含eclipse的主要方法OUTSIDE的文件时(通过kivy cmd提示符),它会出现以下错误:
File "C:\MyProject\code\main.py", line 8, in <module>
from code import engine
ImportError: cannot import name engine
文件代码基本上是:
from kivy.app import App
from kivy.clock import Clock
from kivy.uix.screenmanager import ScreenManager
from code import engine
class MyApp(App):
def build(self):
pass
if __name__ == '__main__':
MyApp.run()
我查看了我的项目文件。我有一堆 init .py文件
code/
__init__.py
main.py
engine.py
system1/
__init__.py
my_system.py
etc...
但所有 init .py文件都是空的! 我应该手动构建它们吗? Eclipse必须在某个时候这样做,我可以让PyDev自动完成它吗?
答案 0 :(得分:1)
Python需要空的__init__.py
文件(最高版本为3.2)将目录识别为Python包 - 其内容为模块/子包。
如果您没有创建它们,PyDev会为您创建它们 - 它们不需要包含任何内容。
如果你的伙伴不能导入code.engine
asstated,那么包含code
的目录本身不太可能不是Python的路径(PYTHONPATH环境变量)的一部分 - 所以它无法从哪里找到下载到代码包中。