报错提示:ImportError: Start directory is not importable: 'D:\PyCharm-Workspace\testcases'
Posted miaokmm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了报错提示:ImportError: Start directory is not importable: 'D:\PyCharm-Workspace\testcases'相关的知识,希望对你有一定的参考价值。
以下两种路径实现代码存放在path.py中,查看区别:
base_dir = os.path.dirname(os.getcwd()) # 第一种,当前目录
# os.getcwd() 定位路径为common
# os.path.dirname(os.getcwd()) 定位路径为API_work
base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # 第二种,该代码存放的根目录
# os.path.abspath(__file__) 定位路径为path.py
# os.path.dirname(os.path.abspath(__file__)) 定位路径为common
# os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 定位路径为API_work
以上两种方式,在path.py中执行,print输出均为:
但第一种方式,在run.py中调用path.py中的base_dir属性,查找 "test_*.py" 的根目录就会出现下以报错:
原因:
1、在run.py中调用path.py 中的 os.getcwd() 代码 ,就是定位 run.py 的根目录;
即:
os.getcwd() 定位路径为API_work
os.path.dirname(os.getcwd()) 定位路径为API_work的上一层目录,因找不到上一层目录,所以报错;
2、在run.py中调用第二种方式,是查找path.py的根目录,所以可执行正常;
总结:
其他模块会调用固定路径时,不要使用 os.getcwd() 当前定位方式来实现;使用 os.path.abspath(__file__) 实现。
以上是关于报错提示:ImportError: Start directory is not importable: 'D:\PyCharm-Workspace\testcases'的主要内容,如果未能解决你的问题,请参考以下文章
Django1.6 运行manage.py 报错解决办法(ImportError)
Flask开发 导入flask_uploads包时提示“IMPORTERROR: CANNOT IMPORT NAME ‘SECURE_FILENAME‘ FROM ‘WERKZEUG‘“
Flask开发 导入flask_uploads包时提示“IMPORTERROR: CANNOT IMPORT NAME ‘SECURE_FILENAME‘ FROM ‘WERKZEUG‘“
ImportError: No module named django
Django报错ImportError: cannot import name ‘ugettext_lazy‘ from ‘django.utils.translation‘
启动Jupyter报错:ImportError: cannot import name ‘soft_unicode‘ from ‘markupsafe‘