All*_*ack 10 python path python-import importerror
Python 3.4:从阅读其他一些SO问题看来,如果moduleName.py文件在当前目录之外,如果要导入它,则必须将其添加到路径中sys.path.insert(0, '/path/to/application/app/folder'),否则import moduelName语句会导致此错误:
ImportError: No module named moduleName
Run Code Online (Sandbox Code Playgroud)
这是否意味着python会自动将同一目录中的所有其他.py文件添加到路径中?在表面下发生了什么,允许您导入本地文件而不附加Python的路径?又是什么一个__init__.py文件的表面下怎么办?
Mar*_*ers 13
Python将初始脚本所在的目录添加为第一项sys.path:
在程序启动时初始化时,此列表的第一项
path[0]是包含用于调用Python解释器的脚本的目录.如果脚本目录不可用(例如,如果交互式调用解释器或者从标准输入读取脚本),path[0]则是空字符串,它指示Python首先搜索当前目录中的模块.请注意,脚本目录是在插入条目之前插入的PYTHONPATH.
那么,那张表面下是Python的追加(或者更确切地说,前置)"本地"目录sys.path 你.
这只是意味着脚本所在的目录是搜索模块时的第一个调用端口.
__init__.py与这一切无关.__init__.py需要将目录设为(常规)包 ; 在Python模块搜索路径中找到的任何此类目录都被视为模块.
| 归档时间: |
|
| 查看次数: |
5136 次 |
| 最近记录: |