eclipse PyDev项目引用、源文件夹和外部库在PYTHONPATH中的顺序是什么

uz75evzq  于 2023-08-04  发布在  Eclipse
关注(0)|答案(1)|浏览(144)

使用带有PyDev插件的Eclipse,如果选择myProject>Properties>PyDev-PYTHONPATH,则会看到两个选项卡:源文件夹和外部库。您还可以选择myProject>Properties> ProjectReferences,并在Eclipse/PydevIDE工作区中看到一个小部件,其中包含其他并行子项目的可检查列表。我知道这些小部件中的值在您运行项目时配置PYTHONPATH。
但是文档似乎没有说明您指定的值的顺序。例如,在生成的PYTHONPATH中,“项目引用”值是否总是在“源文件夹”之后、“外部库”之前?(这是我希望的顺序,这样我就可以用Python安装我的一个子项目,如果我关闭了项目引用,我的主项目将找到安装的版本,但是如果我打开对它的项目引用,我的主项目将在我的工作区找到相同的项目,而我正在更改和调试子项目。
类似地(递归地),引用项目的外部库是否插入在引用项目的源文件夹之后的PYTHONPATH中?
看起来我的PYTHONPATH在我的子项目的源文件夹之前有site-packages外部库目录,所以Python永远不会找到我的子项目的开发版本,只有安装在site-packages中的子项目版本。
我已经尝试了几次“强制恢复内部信息”和重新启动Eclipse。我想我可能在Eclipse之外的某个地方犯了错误。

whlutmcx

whlutmcx1#

PyDev中的PYTHONPATH按以下顺序计算:
1.项目的源文件夹具有最高优先级(因为这是您期望编辑的代码)。
1.用于启动的项目的外部源文件夹。
1.计算依赖项目的PYTHONPATH(同样,首先是源,然后是外部)。
1.选定的相关解释器的PYTHONPATH。
请注意,最终的sys.path实际上是由Python本身计算的(因此,根据您的Python版本,它可能会有所不同-即:它可以从当前工作目录、当前模块或eggs中添加东西,即使你从PyDev中配置的内容中删除它--尽管对于PyDev,未添加的模块将无法用于代码完成,并且在搜索时会显示为错误,因为它们不会被索引),PyDev只更改PYTHONPATH环境变量以匹配上面显示的顺序。
如果你有不同的结果,请报告这是一个错误.(您可以在启动运行配置>解释器选项卡>查看结果命令行中查看运行前实际使用的内容)。

相关问题