【问题标题】:Proper folder structure in python3python3中正确的文件夹结构
【发布时间】:2019-09-17 00:50:13
【问题描述】:

Python 3.7.4(自制)

我正在尝试运行 script.py。当我运行它时它在 PyCharm 中运行良好,但是当我尝试从命令行运行它时出现错误。

项目结构:

project
  /folder
    /subfolder1
      /subfolder2
        /script.py
  /tools
    /subfolder
      /tool.py

当我尝试从命令行运行它时出现此错误

from tools.subfolder.tool import *
ModuleNotFoundError: No module named 'tools'

【问题讨论】:

标签: python python-3.x


【解决方案1】:

使用 PyCharm 之类的编辑器会临时将项目根目录(在您的情况下为目录 project/)添加到 PYTHONPATH。这意味着您可以使用相对于项目根目录的路径来导入模块。这就是from tools.subfolder.tool import * 在 PyCharm 中工作的原因。如果你想从命令行运行它,你可以将你的根目录添加到 PYTHONPATH。例如,如果您使用bash 或zsh,则可以通过运行export PYTHONPATH="$PYTHONPATH:/path/to/project/root/" 将项目根目录附加到PYTHONPATH。您也可以通过运行仅对当前脚本执行此操作:

import sys
sys.path.append('/path/to/project/root/')

您也可以相对指定项目根目录的路径。比如说,您的项目根目录位于包含您的 python 脚本所在目录的目录中,您可以执行类似 sys.path.append('..') 的操作。

干杯。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-28
    • 1970-01-01
    • 1970-01-01
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多