Resuelva el problema de ruta que indica que todavía no existe ningún módulo llamado adds sys.path.append('../')

Escenario del proyecto:

En Linux, en la carpeta ActionWithPose\Net, para ejecutar ActionWithPoseM.py, debe llamar a DSTformer.py y transformador.py en la misma carpeta.
inserte la descripción de la imagen aquí

En AcciónConPoseM.py:

import sys
sys.path.append('../')

from ActionWithPose.Net.transformer import Transformer
from ActionWithPose.Net.DSTformer import DSTformer

Todavía recibo un error

ModuleNotFoundError: No module named 'ActionWithPose'

solución:

El terminal shell ejecuta el problema de la ubicación de py. Si ingreso a la carpeta Net, la ejecución informará un error.

(py36) root@373c0571a886:/hdd/ljz/mmw/ActionWithPose/Net# python ActionWithPoseM.py
Traceback (most recent call last):
  File "ActionWithPoseM.py", line 15, in <module>
    from ActionWithPose.Net.transformer import Transformer
ModuleNotFoundError: No module named 'ActionWithPose'
(py36) root@373c0571a886:/hdd/ljz/mmw/ActionWithPose/Net#

Solo necesita salir de la carpeta de primer nivel y luego de otro nivel de ruta cuando se ejecuta Python.

(py36) root@373c0571a886:/hdd/ljz/mmw/ActionWithPose/Net# cd ..
(py36) root@373c0571a886:/hdd/ljz/mmw/ActionWithPose# python Net/ActionWithPoseM.py
……
(py36) root@373c0571a886:/hdd/ljz/mmw/ActionWithPose#


Afectados por la ubicación del shell, los módulos introducidos en el código interno, la ruta relativa del archivo debe ser relativa a la ubicación de la ruta de ejecución

aprender por analogía

sys.path.append('../')

Lugar de ejecución correspondiente

(py36) root@373c0571a886:/hdd/ljz/mmw/ActionWithPose# python Net/ActionWithPoseM.py

Si tuviera que entrar en la ejecución

(py36) root@373c0571a886:/hdd/ljz/mmw/ActionWithPose/Net# python ActionWithPoseM.py

Entonces la ubicación del código correspondiente al módulo debe ser

sys.path.append('../../')

En la práctica, podemos aceptar ingresar al directorio raíz del archivo de código y escribir todos los archivos en relación con el directorio raíz del código, lo cual es conveniente para las pruebas principales y es consistente con otras llamadas de código.

Supongo que te gusta

Origin blog.csdn.net/z5z5z5z56/article/details/131004538
Recomendado
Clasificación