What do I want? Run my project1 package as follows: (.venv) C:\Users\trg\Escritorio\project1> python -m src.project1.__main__ also understand once and for all how Python execution paths work. Why does it work in PyCharm but fail in CMD? What is the recommended way to organize and import modules so that -m always resolves to identical paths in IDEs and terminals? My Project Structure - Simplified project1/ | requirements.txt \---.venv \---src | __init__.py +---project1 | | log.log | | NOTICE | | _converter.py | | _files_manager.py | | _project1.py | | _returning.py | | __init__.py | | __main__.py | | | +---database | | config.db | | log.log | | _db.py | | __init__.py | | | +---interface | | | _interface.py | | | _lang.py # He is the one who makes one of the mistakes project1/src/project1/__init__.py from ._files_manager import FileManager from ._converter import Converter from ._pymd import Pymd from ._interface import MainWindow __all__:list[str] = ['FileManager', 'Converter', 'Pymd', 'MainWindow'] project1/src/project1/interfaces/_lang.py from PySide6.QtCore import Qt, QTranslator, QLocale from PySide6.QtWidgets import QApplication from .ui_dialog_language import Ui_Lang_Dialog from PySide6.QtWidgets import QDialog from sqlazo import Database # I used relative path to the execution file (./database/ => is at __main__.py level) # works in pycharm db = Database('./database/config.db', False) # Code... complete error (src/project1/interface/_lang.py) (.venv) C:\Users\trg\Escritorio\project1>python -m src.PYMD.__main__ ←[33mVisite esta página (https://tutosrive.github.io/chromologger/) antes de ejecutar este módulo←[0m ←[31mRevise el archivo "log" que se encuentra en esta ruta: C:\Users\trg\Escritorio\project1\.venv\Lib\site-packages\chromologger\log.log←[0m ←[31mRevise el archivo "log" que se encuentra en esta ruta: C:\Users\trg\Escritorio\project1\.venv\Lib\site-packages\chromologger\log.log←[0m ←[34mRevise C:\Users\trg\Escritorio\project1\log.log para ver los registros.←[0m Traceback (most recent call last): File "<frozen runpy>", line 189, in _run_module_as_main File "<frozen runpy>", line 112, in _get_module_details File "C:\Users\trg\Escritorio\project1\src\project1\__init__.py", line 3, in <module> from .project1 import run_app File "C:\Users\trg\Escritorio\project1\src\project1\_project1.py", line 4, in <module> from .interface import run File "C:\Users\santi\Escritorio\project1\src\project1\interface\__init__.py", line 1, in <module> from ._initialHelp import InitialHelp File "C:\Users\trg\Escritorio\project1\src\project1\interface\_initialHelp.py", line 3, in <module> from ._lang import LanguageManager File "C:\Users\trg\Escritorio\project1\src\project1\interface\_lang.py", line 7, in <module> db = Database('./database/config.db', False) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\trg\Escritorio\project1\.venv\Lib\site-packages\sqlazo\sqlazo.py", line 37, in __init__ self.cur:sql.Cursor = self.__cursor() ^^^^^^^^^^^^^^^ File "C:\Users\trg\Escritorio\project1\.venv\Lib\site-packages\sqlazo\sqlazo.py", line 62, in __cursor return self.conn.cursor() ^^^^^^^^^^^^^^^^ AttributeError: 'int' object has no attribute 'cursor' I ran this command python -m src.project1.__main__ from different paths (within the project), but always got the same error. I expected my program's interface to start (just like it does when I run it in PyCharm) Continue reading...