#python #python-3.x #traceback #modulenotfounderror
Вопрос:
Я использую python 3.9 на PyCharm в Windows 10. Структура моего проекта такова:
/application
/model
/games.py
/lock.py
/pointClass.py
/resources
...file
/lib
...file
На Pycharm программа работает, но если я попытаюсь открыть ее на bash (в Linux или macOS), она выдаст мне эту ошибку:
Traceback (most recent call last):
File "games.py", line 16, in <module>
from application.model.lock import RWLock
ModuleNotFoundError: No module named 'application'
В моем games.py файл я пишу это, чтобы импортировать другой файл:
from application.model.lock import RWLock
from application.model.pointClass import *
Как я могу решить эту проблему?
Если вы хотите посмотреть весь мой проект, вы можете перейти на этот репозиторий github: https://github.com/MarioAvolio/BomberFriends
Комментарии:
1. из какого каталога вы пытаетесь запустить программу?
Ответ №1:
Это происходит потому,что Pycharm создает свою собственную виртуальную среду ,в то время как при запуске с терминала вам нужно настроить ее самостоятельно, я воссоздал вашу проблему и нашел решение, сначала вы можете удалить абсолютный импорт и использовать:
from lock import RWlock
или вы можете отредактировать свою среду и настроить sys.path в верхней части games.py вот так:
sys.path.append('Path to your project')
Ответ №2:
На самом деле файл games.py
и lock.py
и pointClass.py
находится в одной папке, так почему бы не импортировать его напрямую, как это :
from lock import RWLock
from pointClass import *