首页 > 解决方案 > 在同一个包python中导入文件

问题描述

我正在使用 Python 3.6

我的文件结构:

ACS-backend
    ACS
        -__init__.py
        -main.py
        -VCDN.py
    bin
    data
    docs
    venv
    weights
    -.gitignore
    -requirements.txt
    -setup.py

我正在尝试在我的 main.py 中导入 VCDNN,from ACS.VCDNN import VCDNN我已经尝试过在我添加 ACS 文件夹.VCDNN from VCDNN之前VCDNN from VCDNN使用的最后一个工作。

要从 cmd 运行它,我只需venv/Scripts/activate.bat激活我当前的 VENV,然后只激活 python main.py,我得到的错误是:

Traceback (most recent call last):
  File "main.py", line 5, in <module>
    from ACS.VCDNN import VCDNN
ModuleNotFoundError: No module named 'ACS'

虽然从 PyCharm 运行时,我看到它执行:

C:\work\COMP1682\ACS-backend\venv\Scripts\python.exe C:/work/COMP1682/ACS-backend/ACS/main.py

效果很好,但是当我从 CMD 运行完全相同的命令时,它仍然给我同样的错误。

标签: pythonimportmodulepycharm

解决方案


尝试from .VCDN import VCDNN,那将是正确的相对导入。


推荐阅读