zoukankan      html  css  js  c++  java
  • 关于Python项目在Pycharm能运行,命令行运行则找不到模块的原因

    Python解释器运行时会导入当前工作目录下的模块。当你在Pycharm中启动解释器时,当前的工作目录是项目根目录,但是当你通过命令行启动时,当前工作目录为你运行python文件时所在的目录。如果当时的位置不是项目目录,那么项目目录中的模块就不会被找到。

    例如:

    我的项目目录如下,运行项目需要执行 excute.py 文件

     当在Pycharm上运行时,我们导入模块需要这样:

    from main.http.xxx import xxx
    from main.tcp.xxx import xxx

    但是,当我们使用命令行进入main目录执行 python excute.py 时,使用以上的导入方式就会出现 ModuleNotFoundError,就是找不到 main 这个模块。

    from http.xxx import xxx
    from tcp.xxx import xxx

    因为此时添加到环境变量的路径已经由  xxx/xxx/killer/ 变为 xxx/xxx/killer/main/

  • 相关阅读:
    每日博客
    每日博客之十一月读书笔记1
    每日博客
    今日收获
    今日收获
    今日收获
    动手动脑10.21
    今日收获
    今日收获
    8月21日
  • 原文地址:https://www.cnblogs.com/delav/p/13084976.html
Copyright © 2011-2022 走看看