¿Qué es el formato de archivo PTH?
Un archivo .pth es un archivo de configuración de rutas en texto plano procesado por el módulo integrado site de Python al iniciar el intérprete. Cada línea del archivo es una ruta de directorio para añadir a sys.path, o una sentencia import para ejecutar como código Python. Las líneas en blanco y las líneas que comienzan con # se tratan como comentarios y se ignoran.
Los archivos .pth deben colocarse en un directorio que el módulo site escanee -normalmente site-packages o dist-packages- para que Python los encuentre automáticamente cuando se inicia el intérprete. Los gestores de paquetes como pip y conda utilizan archivos .pth para registrar paquetes instalados en la ruta de Python sin modificar la instalación del intérprete en sí.
El formato ha sido estable desde Python 1.5.2 (1999) y no contiene información de versión. Los archivos son texto plano UTF-8 (o ASCII), generalmente de unas pocas líneas y de menos de 1 KB.
Una nota de seguridad importante: debido a que las líneas que comienzan con import se ejecutan como código Python en cada inicio, un archivo .pth malicioso colocado en site-packages logra la ejecución persistente de código, un vector de inyección conocido en sistemas comprometidos.
Tenga en cuenta que .pth es también la extensión utilizada por PyTorch para los puntos de control de modelos serializados, un formato binario totalmente ajeno a la configuración de rutas de Python. La ubicación y el contenido del archivo son la forma fiable de distinguir entre los dos usos.
Seguridad y protección
RIESGO: MEDIUMUn archivo .pth de Python es texto plano y no puede ejecutarse por sí solo. Sin embargo, las líneas que comienzan con «import» se ejecutan como código Python cada vez que Python se inicia. Un archivo .pth malicioso colocado en site-packages es una técnica conocida de persistencia/inyección de código en sistemas comprometidos. Si encuentra un archivo .pth inesperado en su site-packages de Python, inspeccione su contenido antes de confiar en él. En un sistema sano, todos los archivos .pth deben corresponder a paquetes legítimamente instalados.
Detalles del formato
en pocas palabras- PyTorch Model Checkpoint - PyTorch guarda convencionalmente los diccionarios de estado del modelo como archivos .pth (formato binario Pickle/ZIP); esto entra en conflicto con los archivos de ruta .pth propios de Python y ahora se prefiere .pt.
- VisualGPSXP Path File - VisualGPSXP (utilidad GPS heredada para Windows) guardaba rutas de seguimiento GPS como .pth; el software está obsoleto y este uso es extremadamente raro.
Programas que abren archivos PTH
Detalles técnicos
especificación profunda| Codificación | Texto plano, UTF-8 o ASCII |
| Contenedor | Texto plano (sin envoltorio ni estructura binaria) |
| Sintaxis de línea | Una entrada por línea: una ruta de directorio, una sentencia «import <módulo>», una línea en blanco o un comentario «#» |
| Activador de procesamiento | El módulo «site» de Python lee todos los archivos .pth en site-packages / dist-packages en cada inicio del intérprete |
| Efecto en sys.path | Cada línea de directorio válida se añade a sys.path, haciendo que sus paquetes sean importables sin manipulación explícita de la ruta |
| Ejecución de líneas import | Las líneas que comienzan con «import» se ejecutan como código Python al inicio: un riesgo de persistencia/inyección en sistemas comprometidos |
| Tamaño de archivo típico | Menos de 1 KB (normalmente de 1 a 10 líneas) |
| Firma de archivo | Ninguna: texto plano sin bytes mágicos ni encabezado binario |
| Tipo MIME | text/plain |
| Ubicación de archivo requerida | Debe residir en un directorio escaneado por el módulo site: site-packages, dist-packages o la raíz de la instalación de Python |
| Estabilidad del formato | Sin cambios desde Python 1.5.2 (abril de 1999); sin campo de versión; totalmente compatible con versiones anteriores |
| SO asociado | Windows, macOS, Linux - dondequiera que se ejecute Python |
| Colisión de nombres | .pth también es utilizado por PyTorch para archivos binarios de puntos de control de modelos, un formato totalmente diferente que se distingue por el contenido y la ubicación del archivo |
| Lanzado | Python 1.5.2 (1999) - site module formalised .pth processing |
| Última versión | No versioning - format unchanged; behaviour documented in Python 3 'site' module |
| Estándar abierto | Sí · libre de regalías |
| Especificación | docs.python.org |
Conversiones de PTH
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos PTH.