【问题标题】:Running python script on command line fails在命令行上运行 python 脚本失败
【发布时间】:2017-11-24 16:31:37
【问题描述】:

我正在尝试在我的 Windows 10 计算机上运行 python 脚本。目录结构如下所示

MyProject
   - src
      - main.py
      __init__.py

      - features
          - featureExtraction.py
          - __init__.py

主文件夹是“MyProject”。在“MyProject”中有一个名为“src”的子文件夹。在“src”中,文件“main.py”和“init.py”以及文件夹“features”存在。在文件夹“features”中有文件“featureExtraction.py”和“init.py”。

在“main.py”中我有以下导入:

import src.features.featureExtraction

当我在 pycharm 中运行 main.py 时,一切正常,但是当我在命令行上使用“python main.py”(在 src 文件夹中)启动脚本时,出现错误:

ModuleNotFoundError: 没有名为“src”的模块。

为什么会这样?

【问题讨论】:

  • 试试:import features.featureExtraction

标签: python python-import


【解决方案1】:

您说您在src 文件夹中执行了import src.features.featureExtraction。仅当您位于父 MyProject 文件夹中时,该导入才有意义。

在 pycharm 首选项中,搜索项目结构并注意它正在使用的内容根目录 (MyProject)。这解释了您从 IDE 和命令行看到的不同行为。

【讨论】:

  • 好的,所以我必须使用 import features.featureExtraction。但是我怎样才能让它在 IDE 和命令行中都运行呢?我认为IDE需要然后导入src.features.featureExtraction
  • 在pycharm prefs中,搜索Project Structure,然后右键添加源文件夹。这类似于更改 sys.path 或 PYTHONPATH。
猜你喜欢
  • 2019-05-28
  • 1970-01-01
  • 1970-01-01
  • 2011-10-03
  • 1970-01-01
  • 2017-07-23
  • 2019-05-24
  • 2012-05-31
  • 1970-01-01
相关资源
最近更新 更多