Pycharm无法识别sys.path中的变化。

问题描述 投票:0回答:1

一些背景--我正在做一个项目,一直在用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不能识别这个变化,并将模块的固定装置、函数引用为有效,这就取消了自动完成,并给出了非常恼人的错误检查注释。

如果有人知道如何解决这个问题(在更新时通知PyCharm),或者给出另一种方法来解决这个问题(这就是为什么我给出了所有这些背景),我会非常感激。

python pycharm pytest
1个回答
2
投票

在左边的项目视图中,您应该右键单击 helpers 文件夹,然后点击。Mark Directory as->Sources Root,这样就能解决你的问题。

这样做之后,就不需要再进行 sys.path.append(os.path.join(os.path.dirname(__file__), 'helpers')) 在PyCharm中.

但由于你已经有了一个工作系统,并试图摆脱恼人的错误错误,只标记目录为源根应该做的伎俩就好了。

© www.soinside.com 2019 - 2024. All rights reserved.