繁体   English   中英

遇到终端导入错误,但是PyCharm可以运行

[英]Meet import error in terminal, but PyCharm can run it

我的 python 项目是这样的:

- project
|
-- datasets
|
----__init__.py
|
----toy.py
|
--trainer
|
----train.py

datasets/__init__.py

# datasets/__init__.py
from .toy import xxx

我尝试从toy.py中的train.py导入函数和类。 因此,在train.py中,我写道:

import datasets

if __name__ == '__main__':
    print(datasets.__dict__)

当我在终端发出python trainer/train.py时,出现导入错误:

“ModuleNotFoundError:没有名为‘数据集’的模块”

但是,我可以通过单击右上角的“运行”按钮在 Pycharm 中运行train.py

谁能告诉我为什么并给出任何建议来解决它?

pycharm 将您的项目目录添加到 PYTHONPATH 环境变量中(您可以使用 Settings->Project Structure->Add Content Root 添加其他文件夹)。

在 pycharm 的虚拟环境之外,您的项目未设置为任何搜索路径。 两种选择:

  1. Append PYTHONPATH 环境变量的项目路径(创建新的环境变量 PYTHONPATH 或将带有“;”的路径添加到现有变量)
  2. 使用 sys.path.append:添加以下行
  import sys
  sys.path.append(r"../project")

在 train.py 中import datasets之前

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM