¿Mitmproxy no funciona en Python instalado en el entorno JMP?Lo he comprobado con
jmputils.jpip('list')
mitmproxy se instaló correctamente

Pero no funciona en código Python.
¡Gracias!
Automatización y scriptingVentanasRe: ¿Mitmproxy no funciona en Python instalado en el entorno JMP?¿De qué manera no funciona? ¿Falla la importación de mitmproxy? Si es así, intenta reiniciar JMP y ver si ahora es visible para JMP. De lo contrario, ¿qué tal un ejemplo? ¿Qué has probado y por qué no hace lo que esperas?
Re: ¿Mitmproxy no funciona en Python instalado en el entorno JMP?Nota para todos: el paquete mitmproxy es un proxy web HTTPS/TLS Man-In-the-Middle para interceptar el tráfico web. Supongo que el caso de uso aquí es el lanzamiento independiente de mitmproxy y el uso de JMP y la API de Python de mitmproxy para controlar el proxy desde JMP.
Re: ¿Mitmproxy no funciona en Python instalado en el entorno JMP?Sí, quiero usar este mitmproxy para reemplazar Selenium para la captura de paquetes.
Quizás no he configurado el servidor proxy de la computadora. Y Python está escrito por GPT-4o.
Lo comprobaré primero.
¡Gracias expertos!
Re: ¿Mitmproxy no funciona en Python instalado en el entorno JMP?Pero el siguiente código PY funcionará bien para otras personas que usen Python en un entorno que no sea JMP.
Pero nunca he tenido éxito al ejecutar Python en un entorno JMP. Los intentos de instalar diferentes versiones de estas bibliotecas también fallaron.
error
C:\Users\Administrator\AppData\Roaming\JMP\JMP\Python\Python311\site-packages\pywinauto\__init__.py:71: UserWarning: Apply externally defined coinit_flags: 2
warnings.warn("Apply externally defined coinit_flags: {0}"
Traceback (most recent call last):
File "<STRING>", line 1, in <MODULE>
File "C:\Users\Administrator\AppData\Roaming\JMP\JMP\Python\Python311\site-packages\pywinauto\__init__.py", line 89, in <MODULE>
from . import findwindows
File "C:\Users\Administrator\AppData\Roaming\JMP\JMP\Python\Python311\site-packages\pywinauto\findwindows.py", line 42, in <MODULE>
from . import controls
File "C:\Users\Administrator\AppData\Roaming\JMP\JMP\Python\Python311\site-packages\pywinauto\controls\__init__.py", line 36, in <MODULE>
from . import uiawrapper # register "uia" back-end (at the end of uiawrapper module)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Administrator\AppData\Roaming\JMP\JMP\Python\Python311\site-packages\pywinauto\controls\uiawrapper.py", line 47, in <MODULE>
from ..uia_defines import IUIA
File "C:\Users\Administrator\AppData\Roaming\JMP\JMP\Python\Python311\site-packages\pywinauto\uia_defines.py", line 181, in <MODULE>
pattern_ids = _build_pattern_ids_dic()
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Administrator\AppData\Roaming\JMP\JMP\Python\Python311\site-packages\pywinauto\uia_defines.py", line 169, in _build_pattern_ids_dic
if hasattr(IUIA().ui_automation_client, cls_name):
^^^^^^
File "C:\Users\Administrator\AppData\Roaming\JMP\JMP\Python\Python311\site-packages\pywinauto\uia_defines.py", line 50, in __call__
cls._instances[cls] = super(_Singleton, cls).__call__(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Administrator\AppData\Roaming\JMP\JMP\Python\Python311\site-packages\pywinauto\uia_defines.py", line 60, in __init__
self.UIA_dll = comtypes.client.GetModule('UIAutomationCore.dll')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Administrator\AppData\Roaming\JMP\JMP\Python\Python311\site-packages\comtypes\client\_generate.py", line 153, in GetModule
return _create_friendly_module(tlib, modulename)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Administrator\AppData\Roaming\JMP\JMP\Python\Python311\site-packages\comtypes\client\_generate.py", line 218, in _create_friendly_module
_invalidate_import_caches()
File "C:\Users\Administrator\AppData\Roaming\JMP\JMP\Python\Python311\site-packages\comtypes\client\_generate.py", line 189, in _invalidate_import_caches
importlib.invalidate_caches()
File "importlib\__init__.py", line 70, in invalidate_caches
finder.invalidate_caches()
File "<FROZEN importlib._bootstrap_external="">", line 1409, in invalidate_caches
TypeError: MetadataPathFinder.invalidate_caches() missing 1 required positional argument: 'cls'</FROZEN></MODULE></MODULE></MODULE></MODULE></MODULE></MODULE></STRING>PY
from pywinauto.application import Application
from pywinauto import timings
import pandas as pd
import time
import datetime
import os
import psutil
Re: ¿Mitmproxy no funciona en Python instalado en el entorno JMP?¡Gracias expertos!
Re: ¿Mitmproxy no funciona en Python instalado en el entorno JMP?Los intentos de instalar diferentes versiones de estas bibliotecas también fallaron.
Como se ha mencionado un par de veces en algunas de las otras publicaciones de discusión de Python, hay un problema en JMP 18.0 al instalar algunos paquetes. Si la instalación falla debido a un error de tipo _socket no se puede encontrar, este es un problema conocido. Se ha resuelto en 18.1, pero debe realizar una desinstalación de JMP 18.0 y una instalación limpia de 18.1. La actualización/reparación no mueve los archivos necesarios.
La solución alternativa en la versión 18.0 es ir al directorio de instalación de JMP, crear un directorio DLLs\, mover todos los archivos .pyd al directorio DLLs y algunos archivos DLL. Estos son: libcrypto, libssl, libffi y sqlite3. Tienen números de versión en el nombre. Mueva estos archivos también al directorio DLLs. Esto debería solucionar el error de instalación debido al error can't find _socket. Pywinauto debería instalarse después de esa solución o reinstalándolo con la versión 18.1.
Re: ¿Mitmproxy no funciona en Python instalado en el entorno JMP?Probé esto en mi máquina e instalé exitosamente todos los paquetes, y también recibo el mensaje de error cuando intento ejecutar desde JMP.
TypeError: MetadataPathFinder.invalidate_caches() falta 1 argumento posicional requerido: 'cls'
Al buscar en esa cadena se indica que es un error de codificación dentro del paquete. Veo el comportamiento, puedo hacer la importación desde Python independiente y el error desde JMP. Pero en este caso parece que el entorno, debido a que se ejecuta desde Python integrado, hace que el paquete tome una ruta de código diferente. Puede enviar un error/problema al proyecto.GitHub - pywinauto/pywinauto: Automatización de la GUI de Windows con Python (basada en propiedades de texto) Sin embargo, pywinauto parece ser un proyecto abandonado. Sin confirmaciones en más de 2 años. Al observar el rastreador de problemas, también parece haber problemas con su ejecución en Win 11. Uno de mis compañeros de trabajo está trabajando en un proyecto que utiliza la automatización de la interfaz de usuario de Windows para agregar capacidades a nuestra propia suite de pruebas. Sin embargo, existen problemas importantes incluso en C++ al llamar a la automatización de la interfaz de usuario desde dentro de la aplicación que está automatizando. Esto también podría tener un efecto. Es poco probable que el autor o los autores de pywinauto hayan probado o intentado ejecutarlo desde Python integrado.
Lo siento, parece que ejecutar pywinauto desde JMP o cualquier instancia de Python incorporada es un callejón sin salida.
Re: ¿Mitmproxy no funciona en Python instalado en el entorno JMP?¡Gracias expertos!
Soy jmp 18.1 para win10.
Re: ¿Mitmproxy no funciona en Python instalado en el entorno JMP?Si quiero instalar Python por separado, ¿cómo puedo hacer que su biblioteca utilice la biblioteca Python del entorno JMP original?
¡Gracias expertos!
C:\Users\Administrator\AppData\Roaming\JMP\JMP\Python\Python311\Scripts
C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\venv\scripts