我想从命令行运行我的python程序,但它给了我以下错误
ImportError: No module named 'main'
我的文件夹结构如下
Project
|-----main
|-----__init__.py
|-----S3Operations.py
|-----BusinessOperations.py
我的init.py代码如下
import sys
from S3Operations import Models
sys.path.append("D:/code/Project/main")
if __name__ == '__main__':
s3=Models()
s3.test()
我的S3Operations.py代码是
import os.path
from main import BusinessService
class ModelsMlS3(object):
def test(self):
print("Testing success")
当我使用命令行运行程序时,我得到以下错误
$ python __init__.py
Traceback (most recent call last):
File "__init__.py", line 2, in <module>
from S3Operations import ModelsMlS3
File "D:\code\Project\main\S3Operations.py", line 11, in <module>
from main import BusinessService
ImportError: No module named 'main'
任何人都可以建议一个解决方案。
答案 0 :(得分:2)
你只需要这样做:
import BusinessService # instead of `from main import BusinessService`
在您的项目中,__init__.py
目录中没有Project
个文件(包含main.py
)。
将其导入为:
from main import BusinessService
您需要在文件夹中创建__init__.py
才能将其作为模块。