[英]What is best practice for importing internal modules to another subdirectory in python?
我目前有一个结构如下的项目文件夹
Project/
main.py
.gitignore
.env
requirements.txt
reports/
report1.py
report2.py
utils/
__init__.py
support_functions.py
对于这个程序,我不是想运行一个 main 函数。 我有几个每周/每月运行一次的报告,并且直接从其文件中运行它们。 我在从 utils 模块导入函数时遇到了很多麻烦 - 但是,我确实找到了堆栈溢出的解决方法,它本质上是将文件夹添加到路径
import sys
sys.path.append('/Project/utils')
import support_functions
但是,我不喜欢这种解决方法,因为它使用绝对路径,并且在我切换计算机/操作系统/环境时不起作用。 所以我的主要问题是在大型项目中如何处理? 即使我使用“正确”结构并运行主要功能,我也遇到了其他几个我想这样做的场景。
我终于找到了答案。
解决方案:编辑您的 settings.json
"terminal.integrated.env.osx": {"PYTHONPATH": "${workspaceFolder}"}
注意 - osx 在这些操作系统上需要更改为“linux”或“windows”。
可以在“使用 PYTHONPATH 变量”部分下找到有关问题和解决方案的文档。
有其他解决方案可以通过将 PYTHONPATH 设置在 .env 中,然后在 settings.json 中指向它来更改 PYTHONPATH,但是,它们都不适合我。 解决方案最终是让 VScode 将 PYTHONPPATH 指向当前工作目录,这是在 Pycharm 中自动完成的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.