zoukankan      html  css  js  c++  java
  • 【E-20】ModuleNotFoundError: No module named

    一、问题源头

    Linux 使用自己python文件包时,出现ModuleNotFoundError: No module named。

    二、原因

    IDE环境下,例如pycharm下,会自动搜索代码所在目录,寻找相关的包,而Linux环境下,直接运行.py文件,只会搜索默认的路径此时需要把代码所在目录添加到sys.path当中

    在ide中执行python程序,都已经在默认的项目路径中,所以直接执行是没有问题的。但是在cmd中执行程序,所在路径是python的搜索路径,如果涉及到import引用就会报类似ImportError: No module named xxx这样的错误,解决方法:

    三、解决方案

    方案一:在报错的模块中添加:

    import sys

    import os

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

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

    sys.path.append(rootPath)

    方案二:

    1. sys.path是python的搜索模块的路径集,是一个list;可以在python环境下使用sys.path.append(path)添加相关的路径,但在退出python环境后添加的路径就会自动消失了。
    2. ImportError: No module named 'xxx':模块不在搜索路径里,从而导致路径搜索失败。

    import sys

    sys.path.append("/usr/flink/alert/")

    sys.path.append("/usr/flink/alert/example/")

    from example import helloworld_pb2, helloworld_pb2_grpc

    本文采用

    本文采用方案一

  • 相关阅读:
    最新macOS 11.4+Xcode 12.5+iOS 14.6 编译安装WebDriverAgent填坑记
    python +pytest +yaml + Allure 实现接口自动化框架
    DNS原理及其解析过程
    jmeter性能测试--ramp_up和同步定时器的区别
    jmeter常用定时器
    基本sql语句
    MySQL连表查询
    MySQL约束条件
    MySQL单表查询
    linux 查看文件的前几行 或者 某些行
  • 原文地址:https://www.cnblogs.com/yifanrensheng/p/13979064.html
Copyright © 2011-2022 走看看