mac 上执行 py 文件提示找不到模块

Stacey丶梦菡
Stacey丶梦菡
订阅者
314
文章
0
粉丝
测试交流1 213字数 63阅读0分12秒阅读模式

有没有大佬遇到过 windows 正常执行,mac 上执行提示模块不存在。网上说加上如下代码解决,有没有好的方案呢

import os,sys

curPath = os.path.abspath(os.path.dirname(file))

rootPath = os.path.split(curPath)[0]

sys.path.append(rootPath)

mac 上执行 py 文件提示找不到模块插图
文章源自玩技e族-https://www.playezu.com/181969.html文章源自玩技e族-https://www.playezu.com/181969.html
 
    • 陈恒捷
      陈恒捷 9

      截图里的 api 是在 im_controller 的上一级目录,但你引入的时候是在 im_controller 文件的本级别直接引入,所以找不到是正常的。要引入上一级目录的模块,只能通过 sys.path.append 将上一级目录加入到 module 搜索路径中。

      看起来你这个是个 web 项目,有可能是因为你程序入口不对导致出现了引用上一级目录模块这种情况。你确定这个项目启动入口就是 im_controller.py 这个文件么?看下是不是 workspace 和 src root
      设置缺失导致找不到这个不是入口,只是单独运行这个调试一下。也只能用这个方式了 sys.path.append我是直接从 Windows copy 过来直接打开的,应该不用设置啥吧。是 1 楼说的那个原因这个调试姿势有点怪怪的,如果依赖模块多,你得加不少临时代码解决这个依赖模块问题,调完还得删掉。

      直接按正常入口来启动 web 应用,做断点调试不会更香么?为啥你这么高强度在线啊 没有吧,一般就等编译的时候,随手点开社区瞄一下消息通知而已。在项目内进行 模块导入时,最好从项目根目录开始;从项目根目录开始导入,然后把根目录通过 sys.path.append 加到环境变量里面

    匿名

    发表评论

    匿名网友
    确定

    拖动滑块以完成验证