Python 什么是;包含输入脚本的目录";什么意思?
我已经用Python写了4年了,但我仍然不完全理解导入系统。我发现,即使你这样做,相对进口也往往会失败。当我在Jupyter实验室/笔记本电脑工作时尤其如此 许多人建议添加到Python 什么是;包含输入脚本的目录";什么意思?,python,import,path,python-import,Python,Import,Path,Python Import,我已经用Python写了4年了,但我仍然不完全理解导入系统。我发现,即使你这样做,相对进口也往往会失败。当我在Jupyter实验室/笔记本电脑工作时尤其如此 许多人建议添加到sys.path变量以克服这个问题(尽管我不知道为什么导入不能像广告中那样工作)。所以我决定阅读整个sys.path是如何工作的,并阅读它是这样初始化的: 6.1.2. 模块搜索路径 导入名为spam的模块时,解释器首先搜索具有该名称的内置模块。如果未找到,它将在变量sys.path给定的目录列表中搜索名为spam.py的文
sys.path
变量以克服这个问题(尽管我不知道为什么导入不能像广告中那样工作)。所以我决定阅读整个sys.path
是如何工作的,并阅读它是这样初始化的:
6.1.2. 模块搜索路径
导入名为spam的模块时,解释器首先搜索具有该名称的内置模块。如果未找到,它将在变量sys.path给定的目录列表中搜索名为spam.py的文件。sys.path从以下位置初始化:
- 包含输入脚本的目录(或未指定文件时的当前目录)
- PYTHONPATH(目录名列表,语法与shell变量PATH相同)
- 与安装相关的默认设置
有人能澄清这个异常模糊/模棱两可的语言吗?从我所看到的,第一个项目符号是指包含您试图运行的脚本的目录。更具体地说,它指的是试图导入模块的脚本
Python“代码”只是在解释器上运行的脚本。您可以将脚本“输入”到解释器中。好的。这就解释了为什么父目录中的模块不能被子目录中的模块轻松导入,除非它们被添加到path变量中。解决方法应该是相对导入,但在Jupyter笔记本电脑中这些都失败了。但这是另一个问题。