brilliant pei 2023-03-14 14:15 采纳率: 100%
浏览 24
已结题

如何在Ubuntu下解决import_module报错

在Python2.7下的importlib文件夹下Init.py,报错,无法只用名字来导入模块,但是在翻看代码时候发现如果遇见非异常情况是路径,不理解从哪个角度去解决这个问题

img

  • 写回答

3条回答 默认 最新

  • MarkHan_ 2023-03-14 14:47
    关注

    该回答引用GPTᴼᴾᴱᴺᴬᴵ
    在Python 2.7下使用importlib.import_module导入模块时,如果传入的参数是文件名而不是模块名,就会报ImportError: Import by filename is not supported.的错误。这个问题可以通过以下两种方式解决:

    1. 修改代码中的参数:根据报错信息可以看出,这个问题出现在Ryu项目的代码中,具体是在ryu/utils.py中的import_module函数中出现的。因此可以在这个函数中将传入的参数改为模块名而不是文件名,这样就可以避免这个错误。

    2. 升级Python版本:Python 2.7已经停止维护,因此如果可能的话,建议升级到Python 3.x版本。在Python 3.x中,import_module已经支持通过文件名导入模块了,因此不会出现这个问题。

    具体操作方法可以参考以下步骤:

    1. 修改代码:打开ryu/utils.py文件,找到import_module函数,将传入的参数改为模块名,保存文件。

    2. 升级Python版本:使用命令sudo apt-get update && sudo apt-get upgrade来更新系统和软件包。如果系统中已经安装了Python 3.x,可以使用命令python3来运行Python脚本。如果系统中没有安装Python 3.x,可以使用以下命令安装:

    sudo apt-get install python3

    sudo apt-get install python3-pip

    这样就可以使用Python 3.x来运行脚本了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月10日
  • 已采纳回答 4月2日
  • 创建了问题 3月14日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。