如何在同一文件夹中的脚本之间使用Python导入、作为包的一部分导入以及作为文件夹中的独立脚本运行
很长一段时间以来,我一直在阅读绝对进口与相对进口的比较,但没有任何东西对我有所帮助 假设我有一个python模块,其结构如下:如何在同一文件夹中的脚本之间使用Python导入、作为包的一部分导入以及作为文件夹中的独立脚本运行,python,python-3.x,module,python-import,Python,Python 3.x,Module,Python Import,很长一段时间以来,我一直在阅读绝对进口与相对进口的比较,但没有任何东西对我有所帮助 假设我有一个python模块,其结构如下: └── test_project ├── __init__.py ├── script1.py ├── script2.py └── main.py \uuuu init\uuuu.py为空 script1.py具有函数 script2.py访问script1。这可以通过来自的实现。导入脚本1,导入.script1(相对)或导入脚本1
└── test_project
├── __init__.py
├── script1.py
├── script2.py
└── main.py
为空\uuuu init\uuuu.py
具有函数script1.py
访问script1。这可以通过来自的script2.py
,实现。导入脚本1
(相对)或导入.script1
(绝对)导入脚本1
是一个在命令行上从script1运行函数的脚本,因此包含main.py
,后跟某个版本的if'\uuuu name\uuuuu'==\uuuuu main\uuuu:
import script1
python test\u project/main.py
尽管做了很多尝试,我还是找不到任何方法来编写导入命令,import script2
在所有这些情况下都能工作
例如,如果我使用来自的。在main和script2中导入script1
,然后从test_项目中运行,在python中从文件夹外部导入script2
,这样就可以正常工作。但是如果我运行python test\u project/main.py
或尝试在文件夹中导入python,我会得到:
Traceback (most recent call last):
File "test_project/main.py", line 1, in <module>
from . import script1
ImportError: attempted relative import with no known parent package
因此,是否不可能以能够实现这些功能的方式编写导入语句
<ipython-input-1-c3cdbe7a7496> in <module>
----> 1 from test_project import script2
~/python/test_project/script2.py in <module>
----> 1 import script1
ModuleNotFoundError: No module named 'script1'