________)适用于python3.6.5,但不适用于python3.7.3

问题描述 投票:0回答:1

以下脚本在python3.6.5上正常工作,但在Windows 10(家庭版)中对于python3.7.3失败:

mod = __import__(pth, globals(), locals(), ['*'])

对于python3.6.5和python3.7.3,pth,globals()和locals()几乎如下所示(mPayment.py位于脚本/演示中:]

pth       ==>  "scripts.demo.mPayment"

locals()  ==>   {'pth': 'scripts.demo.mPayment', 'self': <bop.bopModule.MasterModule object at 0x000002586EC3EC88>}

globals() ==>   {...}   #globals() has nothing to do with "scripts.demo.mPayment"

但是使用python3.7.3,我得到了例外:

Exception occurs in importing module demo.mPayment.
Traceback (most recent call last):
  File "c:\xxx\b\Module.py", line 50, in _init
    mod = __import__(pth, globals(), locals(), ['*'])
ModuleNotFoundError: No module named 'scripts.demo'

任何人都知道python 3.7.3中的__import__()脚本发生了什么,因为它可以与python3.6.5一起使用。非常感谢您的帮助。

欧阳

import python-3.6 python-3.7
1个回答
0
投票

我只是将sys.path中的项目根路径移到第一个,然后__import__()可以找到那些模块。

© www.soinside.com 2019 - 2024. All rights reserved.