python在IDE中可以运行成功,在命令窗口运行报错

在第一次做python开发的时候,在eclipse中运行没有任何问题,但是把python代码拿到外面,使用命令窗口执行的时候,就报错:

PS D:\eclipse-project\python\src\config> py .\ServerDeploy.py
Traceback (most recent call last):
  File ".\ServerDeploy.py", line 5, in <module>
    from config.DeployArgument import DeployArgument
ModuleNotFoundError: No module named 'config'

说是找不到module: ModuleNotFoundError: No module named ‘config’

但是这个脚本在eclipse中运行是正确的,这说明在命令窗口运行的时候,模块的路径发生了变化。通过使用命令打印运行路径发现:

rootPath = os.path.abspath(os.path.dirname(__file__))
print(rootPath)

打印的路径是:D:\eclipse-project\python\src\config,就是main运行文件所在的目录
也就是说,python在运行的时候查找模块的引用时,是从运行的文件所在的目录开始的,我的目录是:

├─config
│      DeployArgument.py
│      ServerDeploy.py
│      __init__.py
│
└─__pycache__
        DeployArgument.cpython-36.pyc

在引用的时候,是这样的:from config.DeployArgument import DeployArgument
所以在命令窗口运行的时候,它是从config目录下开始查找模块的,因此找不到模块的引用。
正确的做法是,应该把主运行文件放在根目录中,如下所示:

│  ServerDeploy.py
│
├─config
│      DeployArgument.py
│      __init__.py
│
└─__pycache__

这样在运行的时候就不会报错了,模块也能正确找到了。

求关注

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wgslucky

各位都是我的衣食父母

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值