Python/PyCharm 无法识别模块
Python/PyCharm doesn't recognize modules
我正在尝试 运行 python project from github 我遵循一些关于问题的建议,例如从 Python 3 更改为 Python 2,或者检查 [= =22=]在每个文件夹...,但我无法解决它。
这是我得到的错误
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
我 运行 python2 或 python 3 都没有关系,无论是从控制台 (CMD) 还是 PyCharm
这是项目的结构:
我不知道你的具体问题是什么,但也许可以帮助你找到它。
Python 通过路径导入模块。有一个神奇的环境变量 PYTHONPATH 告诉它去哪里寻找模块。因此,当您在 python 文件中执行 import trimlogic.test.helper
时,发生的情况是...
它查看 PYTHONPATH 并获取其中的目录列表。
它转到第一个并查看是否有 trimlogic.py
或包含文件 __init__.py
的名为 trimlogic
的文件夹。如果它找到一个文件 trimlogic.py
,它将读取它并寻找一个名为 test
的变量。如果它是一个文件夹,它将进入该文件夹并查找 test.py
或名为 test
的文件夹,其中包含 __init__.py
。等等。如果失败,它将以相同的方式检查 PYTHONPATH 变量中的其余目录。您的命令失败,因为包含 trimlogic
文件夹的 src
目录不在您的 PYTHONPATH 中。
这里有一个魔术。启动 python.exe 时的当前目录会自动添加到路径中。在控制台中,如果您执行 cd C:/Users/Pulse/Desktop/foil-python-master/src
然后尝试 运行ning python.exe trimlogic/test/FamilyTreeTestCase.py
您的命令将按预期工作。
此外,Pycharm 有一些魔法可以帮助解决这个问题。首先,如果您右键单击 src
目录并将其标记为 sources root
,它将自动 运行 您的 python 命令与 PYTHONPATH 上的该目录。您还可以编辑 运行 命令以在执行命令之前更改要启动的工作目录或环境变量。
我正在尝试 运行 python project from github 我遵循一些关于问题的建议,例如从 Python 3 更改为 Python 2,或者检查 [= =22=]在每个文件夹...,但我无法解决它。
这是我得到的错误
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
我 运行 python2 或 python 3 都没有关系,无论是从控制台 (CMD) 还是 PyCharm
这是项目的结构:
我不知道你的具体问题是什么,但也许可以帮助你找到它。
Python 通过路径导入模块。有一个神奇的环境变量 PYTHONPATH 告诉它去哪里寻找模块。因此,当您在 python 文件中执行 import trimlogic.test.helper
时,发生的情况是...
它查看 PYTHONPATH 并获取其中的目录列表。
它转到第一个并查看是否有 trimlogic.py
或包含文件 __init__.py
的名为 trimlogic
的文件夹。如果它找到一个文件 trimlogic.py
,它将读取它并寻找一个名为 test
的变量。如果它是一个文件夹,它将进入该文件夹并查找 test.py
或名为 test
的文件夹,其中包含 __init__.py
。等等。如果失败,它将以相同的方式检查 PYTHONPATH 变量中的其余目录。您的命令失败,因为包含 trimlogic
文件夹的 src
目录不在您的 PYTHONPATH 中。
这里有一个魔术。启动 python.exe 时的当前目录会自动添加到路径中。在控制台中,如果您执行 cd C:/Users/Pulse/Desktop/foil-python-master/src
然后尝试 运行ning python.exe trimlogic/test/FamilyTreeTestCase.py
您的命令将按预期工作。
此外,Pycharm 有一些魔法可以帮助解决这个问题。首先,如果您右键单击 src
目录并将其标记为 sources root
,它将自动 运行 您的 python 命令与 PYTHONPATH 上的该目录。您还可以编辑 运行 命令以在执行命令之前更改要启动的工作目录或环境变量。