如何解决python中模块搜索路径顺序输入路径是什么意思?
解释器在执行上述import语句时,会搜索 对于 mod.py 在从以下组装的目录列表中 来源:
运行输入脚本的目录或当前 如果解释器以交互方式运行,则为目录
包含在 PYTHONPATH 环境变量中的目录列表,如果是 放。 (PYTHONPATH 的格式取决于操作系统,但应该模仿 PATH 环境变量。)
依赖于安装的列表 安装 Python 时配置的目录
“运行输入脚本的目录”是什么意思?这是包含调用的python文件的目录还是进行python调用的目录?
解决方法
我觉得描述有误导性。我认为 official documentation 更清楚:
当导入名为 spam 的模块时,解释器首先搜索具有该名称的内置模块。如果未找到,它将在变量 sys.path 给出的目录列表中搜索名为 spam.py 的文件。 sys.path 从以下位置初始化:
- 包含输入脚本的目录(或未指定文件时的当前目录)。
- PYTHONPATH(目录名称列表,语法与 shell 变量 PATH 相同)。
- 依赖于安装的默认值。
您可以通过添加以下脚本轻松测试:
import sys
print(sys.path)
到子目录,然后从父目录调用它。模块搜索路径的第一个条目将是子目录。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。