1
zhicheng 2016-04-25 10:35:54 +08:00 via Android
import 不到会 raise 一个 error 。你的情况很可能只是名字被覆盖了。
|
2
fds 2016-04-25 10:36:34 +08:00
纯吐槽: python 的 import 规则太奇怪,特别是相对路径基本没法用,还是 node.js 的比较直观
|
3
kamushin OP @zhicheng 确实 raise 了 error. 我使用了 from A import * . 结果 A 中的常量都没能 import 进来. 而这只发生在用了 multiprocess 的分支, 我怀疑是不是多进程中的 target method 在运行时会丢失 import.
|
4
julyclyde 2016-04-25 15:43:11 +08:00
循环 import 也没啥问题吧?为什么 multiprocessing 那么穷讲究?
|
6
kamushin OP @julyclyde 倒是和 multiprocessing 没啥关系. 只是循环 import 的时候, 包名和类名冲突覆盖了.
|
7
fds 2016-04-25 16:59:05 +08:00
@yetone 吐个槽有啥丢人的…… 比如像下面网址中的问题,要不就是改 sys.path 要不就是用 python -m 参数,多麻烦
ref : http://stackoverflow.com/questions/72852/how-to-do-relative-imports-in-python |
8
SmiteChow 2016-04-25 17:16:41 +08:00
循环引用可以通过拆分 py 文件的方式解决
|
9
zonghua 2016-04-26 00:14:48 +08:00 via iPhone
会的,当初学习 python 的时候就发现了这个问题困扰我好久
|