我在使用常见的项目结构,其中python包位于包含目录的顶层和命名为“scripts”和“tests”的子目录中。通常情况下,您希望使用此设置将顶级文件夹添加到sys.path中,以便可以在脚本和测试中使用“import mypackage”语句。
我发现我需要使用两种不同的机制来设置PYTHONPATH用于测试和linting等:添加.env文件和设置终端的terminal.integrated.env.windows参数。然而,这两种机制似乎都无法影响Python Interactive窗口,因此如果我在脚本中定义一个使用#%%的单元格并使用Ctrl-Enter运行它,则无法找到位于项目根目录的我的包。
是否有一种方法可以在不更改源文件的情况下实现我想要的功能?理想情况下,希望有一种工作在任何地方的设置导入路径的方法,而无需像.env文件中那样指定绝对路径。例如,Spyder可以通过其PYTHONPATH管理器实现这一点,并默认添加项目的根目录。
我发现我需要使用两种不同的机制来设置PYTHONPATH用于测试和linting等:添加.env文件和设置终端的terminal.integrated.env.windows参数。然而,这两种机制似乎都无法影响Python Interactive窗口,因此如果我在脚本中定义一个使用#%%的单元格并使用Ctrl-Enter运行它,则无法找到位于项目根目录的我的包。
是否有一种方法可以在不更改源文件的情况下实现我想要的功能?理想情况下,希望有一种工作在任何地方的设置导入路径的方法,而无需像.env文件中那样指定绝对路径。例如,Spyder可以通过其PYTHONPATH管理器实现这一点,并默认添加项目的根目录。