所以我有一个臭名昭著的ModuleNotFoundError,有几个小时我找不到解决方案。我知道我的项目在Pycharm中工作,但我想在Visual代码中设置它。
误差
(base) C:\pythonprojects\AI_Project>C:/Users/quint/Anaconda3/python.exe c:/pythonprojects/AI_Project/be/kdg/MarkovDecisionProcess/Main.py
Traceback (most recent call last):
File "c:/pythonprojects/AI_Project/be/kdg/MarkovDecisionProcess/Main.py", line 1, in <module>
import be.kdg.MarkovDecisionProcess.Agent as Agent
ModuleNotFoundError: No module named 'be'我的项目结构
project
|__be
|__kdg
|__MarkovDecisionProcess
|__Agent.py
|__Main.py
|__Percept.py 在main.py中
import be.kdg.MarkovDecisionProcess.Agent as Agent
import be.kdg.MarkovDecisionProcess.Percept as Percept
import gym as gym
import numpy as np
...在Agent.py中
import gym
import numpy as np
from be.kdg.MarkovDecisionProcess.Percept import Percept
class Agent:
def __init__(self, stateRewards, state_count, action_count):
...我的环境:Python3.6.5 ('base':conda)
python路径
"python.pythonPath": "C:\\Users\\quint\\Anaconda3\\python.exe"首先,我在每个dir中都有__Init__.py,但后来我在这里读到了traps.html,这也可能是一个问题。
我将对任何建议保持警惕,并在阅读时尝试它们。预先多谢:-)
发布于 2018-11-07 15:19:26
您首先必须将__init__.py添加到您的MarkovDecisionProcess中,才能使它成为一个模块。然后,您必须将\path\to\project添加到PYTHONPATH中才能导入。
例如,在Windows中:
setx PYTHONPATH /M "\path\to\project"在Unix/macOS中:
PYTHONPATH=$PYTHONPATH:/path/to/project然后,您可以这样import:from be.kdg.MarkovDecisionProcess import Agent
或者,您可以使用importlib.util
发布于 2018-11-07 14:55:02
如果要在Main.py中导入代理,只需使用
import Agent因为它在同一个目录中
https://stackoverflow.com/questions/53191708
复制相似问题