请教一下关于 import 自己的文件的问题
我的目录是这样的
我希望在 test.py 文件中 import common 中的 log_factory 中的 Log 类,但是在 linux 中执行后发现会报错,提示我 No module named log_factory,不知道是哪里写的有问题……
2
g972282 2017-09-24 01:49:52 +08:00 via Android
应该是 "__init__.py" 文件,不是 "init.py"
|
4
boboliu 2017-09-24 03:17:18 +08:00
请 import common
|
5
scriptB0y 2017-09-24 10:14:26 +08:00
python import 的问题隔一段时间就会有人提出来:
https://www.google.com.hk/search?q=site:v2ex.com/t%20import&gws_rd=cr,ssl |
7
zhusimaji 2017-09-24 14:31:32 +08:00 via iPhone
包的定义问题😂
|
8
wcsjtu 2017-09-25 12:06:35 +08:00
使用 absolute import. 而且, 没有__init__.py ,是不会构成一个 package 的
from common import log_factory lz 还是仔细研究下 python 的 import 机制吧 |
11
MrVito OP @wcsjtu 有__init__.py 的,发主题的时候被转义了……如果我在 import 的前面先 sys.path.append(../common),是可以正常 import 的,但是如果我在 test 目录下 sys.path.append(..)到 LogAnalysis 目录下,就不能 import common 里面的 module 了
|