用vs code打开没问题,用命令行执行报错

jimmy212 2020-07-18 04:14:23
各位好

我有个小问题,就是我写了一个小程序,然后分了若干个文件夹,外面一个总的文件夹,类似这样:
Project
- ui
-- controllerUi.py
- hardware
-- controller.py
- process
__main__.py
__init__.py

我在controllerUi中import了hardware的controller
from ..hardware import controller

由于我是在VS Code中调试的,VS Code打开的是就是Project这个文件夹,于是运行都没有问题,我看启动的是__main__.py文件

现在我先写个bat文件启动项目,于是我在Project外面建立了一个start.bat,
python -m Project
但是出现了 can't find hardware的问题,虽然我后面将start.bat改为
cd Project
python __main__.py
这样可以执行,但是我想问一下各位,正确的方法是什么,不然python -m这个命令怎么使用
...全文
527 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jimmy212 2020-07-21
  • 打赏
  • 举报
回复
是的,我在__main__.py中有添加 ,所以直接执行这个文件是没有问题的,但是执行python -m就不行了

sys.path.append('..')
集电极 2020-07-18
  • 打赏
  • 举报
回复
建议尝试用
import sys
sys.path.append(r'到hardwarew文件夹的绝对路径')
import controller
可能是bat不能识别相对路径造成的。

37,722

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧