Python Pycharm can';无法识别sys.path中的更改
一些背景-我正在从事一个项目,并一直在用PyTest编写测试。 文件夹的结构如下所示: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.
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的情况下运行测试。