在Python2.7下的importlib文件夹下Init.py,报错,无法只用名字来导入模块,但是在翻看代码时候发现如果遇见非异常情况是路径,不理解从哪个角度去解决这个问题
![](https://profile-avatar.csdnimg.cn/33e59f6a658e4f67be2cf90120128b1a_qq_52946953.jpg!4)
如何在Ubuntu下解决import_module报错
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- MarkHan_ 2023-03-14 14:47关注
该回答引用GPTᴼᴾᴱᴺᴬᴵ
在Python 2.7下使用importlib.import_module导入模块时,如果传入的参数是文件名而不是模块名,就会报ImportError: Import by filename is not supported.的错误。这个问题可以通过以下两种方式解决:修改代码中的参数:根据报错信息可以看出,这个问题出现在Ryu项目的代码中,具体是在ryu/utils.py中的import_module函数中出现的。因此可以在这个函数中将传入的参数改为模块名而不是文件名,这样就可以避免这个错误。
升级Python版本:Python 2.7已经停止维护,因此如果可能的话,建议升级到Python 3.x版本。在Python 3.x中,import_module已经支持通过文件名导入模块了,因此不会出现这个问题。
具体操作方法可以参考以下步骤:
修改代码:打开ryu/utils.py文件,找到import_module函数,将传入的参数改为模块名,保存文件。
升级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来运行脚本了。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
- ¥50 如何openEuler 22.03上安装配置drbd
- ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
- ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
- ¥15 Windows11, backspace, enter, space键失灵