Python Pycharm can';无法识别sys.path中的更改

Python Pycharm can';无法识别sys.path中的更改,python,pycharm,pytest,Python,Pycharm,Pytest,一些背景-我正在从事一个项目,并一直在用PyTest编写测试。 文件夹的结构如下所示: src/ ... tests/ helpers/ fixtures.py functions.py conftest.py test1.py test2.py ... helpers子文件夹包含所有测试都可以访问的功能和装置。 为此,我将以下内容添加到conftest.py: import os import sys sys.

一些背景-我正在从事一个项目,并一直在用PyTest编写测试。 文件夹的结构如下所示:

src/
    ...
tests/
    helpers/
        fixtures.py
        functions.py
    conftest.py
    test1.py
    test2.py
    ...
helpers
子文件夹包含所有测试都可以访问的功能和装置。 为此,我将以下内容添加到
conftest.py

import os
import sys

sys.path.append(os.path.join(os.path.dirname(__file__), 'helpers'))

from fixtures import fixture1, fixture2, ....
这实际上是可行的,装置1,2,。。在不同的测试中都可用

而且:

import functions
可从
tests
文件夹中的任何文件正常工作

但问题是PyCharm无法识别此更改,并将模块fixture、函数引用为有效,这会取消自动完成,并给出非常恼人的错误检查注释


如果有人知道如何修复它(在更新时通知PyCharm),或者可能会提供另一种解决方法(这就是为什么我给出了所有这些内容),我将非常感激。

在左侧的项目视图中,您应该右键单击
helpers
文件夹,然后单击:

将目录标记为->源根目录,这应该可以解决您的问题

这样做之后,就不需要在PyCharm中使用
sys.path.append(os.path.join(os.path.dirname(\uuu file\uuuu),“helpers”)



但是,由于您已经有了一个工作系统,并试图消除恼人的错误,因此仅将目录标记为源根目录就可以了。

在左侧的项目视图中,您应该右键单击
helpers
文件夹,然后单击:

将目录标记为->源根目录,这应该能解决你的问题

这样做之后,就不需要在PyCharm中使用
sys.path.append(os.path.join(os.path.dirname(\uuu file\uuuu),“helpers”)



但是,由于您已经有了一个工作系统,并试图消除恼人的错误,因此仅将目录标记为源根目录应该可以很好地完成此任务。

非常感谢,这很好。我将离开将helpers附加到sys.path列表的行,因为我希望能够在没有PyCharm的情况下运行测试。非常感谢,这很好。我将离开将helpers附加到sys.path列表的行,因为我希望能够在没有PyCharm的情况下运行测试。