python无法导入模块_Python不能从包中导入模块(Python can't import module from package)

I have a flask restful project with the following layout (file names changed for convenience)

1

2

3

4

5

6

7

8

9

10myproject/

__init__.py

app.py

common/

__init__.py

util.py

foo/

__init__.py

main.py

utilities.py

1foo/

is just a folder containing code for one of the API endpoints, I’m planning to add others in the future, for this reason I have

1common/util.py

file which contains reusable functions that I will use with other API endpoints.

1foo/main.py

1

2

3

4

5

6

7from flask_restful import Resource, request

from utilities import Analysis

class Foo(Resource):

def get(self):

pass

in

1foo/utilities.py

I have classes with methods that get some data, I import those classes to

1foo/main.py

to return JSON response

classes in

1foo/utilities.py

also uses some functions from

1common/util.py

but when I try to import something from

1common/util.py

to

1foo/utilities.py

I get

1

2import common.util

ModuleNotFoundError: No module named 'common'

What could be causing this? I tried importing various ways:

1from common.util import my_func

1from .common.util import my_func

1from myproject.common.util import my_func

but none worked.

This is

1myproject/app.py

in case it matters:

1

2

3

4

5

6

7

8

9

10

11

12from flask import Flask

from flask_restful import Api

from foo.main import Foo

app = Flask(__name__)

api = Api(app)

api.add_resource(Foo, '/Foo')

if __name__ == "__main__":

app.run()

I’m doing all of this in activated virtualenv if it matters

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值