[Python] Run .py file that is in a subdirectory

Discussão em 'Python' iniciado por Stack, Fevereiro 3, 2025.

  1. Stack

    Stack Membro Participativo

    I feel like this should be very obvious, yet I'm not finding the correct search terms. I can run a file from the root of my project, but not from a subdirectory. How do I fix this?

    I have a directory tree that looks like this:

    $ tree
    .
    ├── kalman
    │ ├── find_observibility.py
    │ ├── __init__.py
    │ ├── kalman.py
    │ └── model.py


    find_observibility.py imports from kalman.

    If I copy find_observibility.py into the root of my project, it runs just fine. However, when I try to run it from its subdirectory, I get an error:

    $ ./kalman/find_observibility.py
    Traceback (most recent call last):
    File "/home/tim/Documents/software/cl_kalman/./kalman/find_observibility.py", line 3, in <module>
    from kalman import outputJacobian, stateJacobian, stateTransition
    File "/home/tim/Documents/software/cl_kalman/kalman/kalman.py", line 6, in <module>
    from kalman.model import modelOutput, stateTransition
    ModuleNotFoundError: No module named 'kalman.model'; 'kalman' is not a package


    Here's find_observability.py:

    #! /usr/bin/env python3

    from kalman import outputJacobian, stateJacobian, stateTransition
    from make_flight import Rising, Rounds

    if '__main__' == __name__:
    print('oh my')


    Here's kalman/__init__.py:

    from .model import initialState, modelOutput, stateTransition
    from .kalman import outputJacobian, stateJacobian


    Clues would be appreciated. Solutions even more. Thanks in advance.

    Continue reading...

Compartilhe esta Página