Python 2.7出现但Python 3.5不出现“ImportError: No module named xxx”的解决方案
问题描述:
本人写了一个Python测试程序,里面调用了自己写的另外一个package
:autodriving.sumo_env
,如下所示:
from autodriving.sumo_env import SumoEnv
测试程序与package
:autodriving.sumo_env
位于相同的目录。使用Python 3.5
环境能正常运行,使用Python 2.7
环境运行报出如下错误:
Traceback (most recent call last):File "autodriving/ego_runner.py", line 35, in <module>from autodriving.sumo_env import SumoEnv
ImportError: No module named autodriving.sumo_env
问题分析:
根据该错误信息,上网找到一些解决方案,基本与《ImportError: No module named 通用解决方法》类似,我一看就知道根本没找到问题症结,是误人子弟的解决方案。于是继续上网查找Python package
的原理,终于找到了如靠谱答案(见该网页):
在Python 3.3
之前,需要在每个目录中添加一个空白的__init__.py
文件作为package
的标识,如果没有该文件,该目录就不会认为是package
。当然,__init__.py
文件中还可以填写一些额外的内容,但与本文问题无关,此处按下不表。但在Python 3.3
之后,就不再需要该文件了,原文描述如下(见该网页):
PEP 420: Implicit Namespace Packages
Native support for package directories that don’t require __init__.py marker files and can
automatically span multiple path segments (inspired by various third party approaches to
namespace packages, as described in PEP 420)
解决方案:
考虑到Python 2.7使用范围挺广,在定义package
时,每个目录中添加一个空白的__init__.py
文件作为package
的标识,问题得到解决。
Python 2.7出现但Python 3.5不出现“ImportError: No module named xxx”的解决方案相关推荐
- python导入模块找不到什么原因_python模块以及导入出现ImportError: No module named 'xxx'问题...
python中,每个py文件被称之为模块,每个具有__init__.py文件的目录被称为包.只要模 块或者包所在的目录在sys.path中,就可以使用import 模块或import 包来使用 如果你 ...
- Python:Python中已安装的模块出现No module named 'xxx'的解决方案之一
问题:在项目中使用 XXX 模块的时候出现 No module named 'xxx' 提示, 问题在于 x:\Python36\Lib\site-packages\XXX 中的文件, 而 xxx.p ...
- python如何创建工程预设_如何在sublime3项目设置中设置python模块的搜索路径?ImportError: No module named *的解决办法...
问题:之前使用pycharm,用的挺溜,但是电脑配置实在不争气,pycharm启动久了,耗去大量内存,导致运行起来越来越慢,于是转向使用sublime text. 把项目从pycharm切换到subl ...
- 【转载】pyinstaller打包python文件后,运行出现Failed to execute script xxx.exe错误的解决方式(No module named 'xxx')
版权说明:https://blog.csdn.net/qq_42063091/article/details/82423221 一.问题定位: windows+r进入cmd命令行窗口 cd exe文件 ...
- 明明安装了模块,还是出现 错误 ImportError: No module named ‘pandas‘ 原因LINUX上安装了多个python环境,将脚本中python 改为python3问题解
明明安装了模块,还是出现 错误 ImportError: No module named 'pandas' 原因LINUX上安装了多个python环境,将脚本中python 改为python3问题解 ...
- crontab中运行python程序出错,提示ImportError: No module named解决全过程
将一个python脚本放入crontab执行时,提示如下错: ImportError: No module named hashlib 但是在shell中直接执行时没有任何问题,google之后,得到 ...
- Python错误“ImportError: No module named MySQLdb”解决方法
Python错误"ImportError: No module named MySQLdb"解决方法 参考文章: (1)Python错误"ImportError: No ...
- python程序在命令行执行提示ModuleNotFoundError: No module named ‘XXX‘ 解决方法
python程序在命令行执行提示ModuleNotFoundError: No module named 'XXX' 解决方法 参考文章: (1)python程序在命令行执行提示ModuleNotFo ...
- python错误 ImportError: No module named setuptools 解决方法[转]
在python运行过程中出现如下错误: python错误:ImportError: No module named setuptools 这句错误提示的表面意思是:没有setuptools的模块,说明 ...
最新文章
- 微信小游戏开发教程-游戏实现3
- Oracle 通用查询:表、字段、表说明、所有用户、库版本
- python希尔排序的优缺点_Pythonの希尔排序
- 年轻有为的老黄2020
- mysql查看执行计划_MySql中如何使用 explain 查询 SQL 的执行计划
- 关键帧 关于decode_one_frame函数
- 更改阿里云域名解析台里某个域名绑定的IP之后不能解析到新IP
- 想要涨薪,这些坑你避开了
- mysql rs.next_JDBC结果集rs.next()注意事项
- 使用 fail2ban 防御 SSH 服务器的暴力破解
- python server agent_Python实现Windows监控agent(上)
- IPSecNAT穿越实验配置
- stm32f4c语言编程,如何使用STM32F4的DSP库
- 三态缓冲器!74系列芯片的型号区别…
- java 换行规范_Java代码规范
- mingw编译CMake后的OpenCV文件时出现:mingw32-make : 无法将“mingw32-make”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
- linux系统安装爱快,ESXi安装爱快iKuai OS路由(图文教程)
- JAVA版开源MQTT Broker, 支持集群和规则引擎
- css js 简单的径向菜单学习笔记
- 西瓜视频蓝光1080P下载方法