Импортировать файл в том же пакете Python - PullRequest
0 голосов
/ 18 ноября 2018

Я использую Python 3.6

моя структура файлов:

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

Я пытаюсь импортировать VCDNN в свой main.py с from ACS.VCDNN import VCDNN Я пробовал только с .VCDNN from VCDNN и просто VCDNN from VCDNN последний работал до того, как я добавил папку ACS.

Чтобы запустить его из 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это все еще дает мне ту же ошибку.

1 Ответ

0 голосов
/ 18 ноября 2018

Попробуйте from .VCDN import VCDNN, это будет правильный относительный импорт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...