Python/PyCharm无法识别模块

2024-09-30 01:28:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图运行python project from github我遵循一些关于这个问题的建议,比如从python3更改为python2,或者检查初始py在每个文件夹中…,但我解决不了。在

这是我得到的错误

Traceback (most recent call last): File "C:/Users/Pulse/Desktop/foil-python-master/src/trimlogic/test/FamilyTreeTestCase.py", line 3, in from trimlogic.test.helper import FoilTestCase ImportError: No module named trimlogic.test.helper

无论是从console(CMD)还是PyCharm运行python2或python3都不重要

项目结构如下: enter image description here


Tags: frompytestgithubhelperproject文件夹most
1条回答
网友
1楼 · 发布于 2024-09-30 01:28:51

我不知道你的具体问题是什么,但也许能帮你找到它。在

Python按路径执行模块导入。有一个神奇的环境变量PYTHONPATH告诉它在哪里寻找模块。所以,当你在python文件中执行import trimlogic.test.helper操作时,会发生。。。在

它查看PYTHONPATH并获得其中的目录列表。 它转到第一个文件夹,查看是否存在一个trimlogic.py或一个名为trimlogic的文件夹,其中包含文件__init__.py。如果它找到一个文件trimlogic.py,它将读取它并查找名为test的变量。如果它是一个文件夹,它将进入该文件夹并查找test.py或一个名为test的文件夹,其中有__init__.py。等等。如果失败,它将以同样的方式检查PYTHONPATH变量中的其余目录。您的命令失败,因为包含trimlogic文件夹的src目录不在PYTHONPATH上。在

这里有个魔术。启动时的当前目录python.exe会自动添加到路径中。在控制台中,如果您执行cd C:/Users/Pulse/Desktop/foil-python-master/src,然后尝试运行python.exe trimlogic/test/FamilyTreeTestCase.py,那么您的命令将按预期工作。在

此外,Pycharm还有一些魔力可以帮助解决这个问题。首先,如果您右键单击src目录并将其标记为sources root,它将自动在PYTHONPATH上使用该目录运行python命令。您还可以编辑run命令,以在执行命令之前更改要启动的工作目录或环境变量。在

相关问题 更多 >

    热门问题