getappmap / getappmap/appmap-python
Cannot run appmap with clr package.
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 104
- Forks
- 17
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
I thought I'd try out your application, but I ran into an issue early. Seems like it doesn't work with either pythonnet or clr. Below you can see I just install the two and I cannot import clr.
PS C:\Users\ericfoss\temp> pipenv graph
appmap==1.14.1
- importlib-metadata [required: >=0.8, installed: 6.0.0]
- zipp [required: >=0.5, installed: 3.14.0]
- importlib-resources [required: >=5.4.0,<6.0.0, installed: 5.12.0]
- inflection [required: >=0.3.0, installed: 0.5.1]
- packaging [required: >=21.3,<22.0, installed: 21.3]
- pyparsing [required: >=2.0.2,!=3.0.5, installed: 3.0.9]
- PyYAML [required: >=5.3.0, installed: 6.0]
pythonnet==3.0.1
- clr-loader [required: >=0.2.2,<0.3.0, installed: 0.2.5]
- cffi [required: >=1.13, installed: 1.15.1]
- pycparser [required: Any, installed: 2.21]
PS C:\Users\ericfoss\temp> pipenv run python
Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug 1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import clr
Failed to initialize pythonnet: System.NullReferenceException: Object reference not set to an instance of an object.
at Python.Runtime.PythonException.TryDecodePyErr(BorrowedReference typeRef, BorrowedReference valRef, BorrowedReference tbRef)
at Python.Runtime.PythonException.FetchCurrentOrNull(ExceptionDispatchInfo& dispatchInfo)
at Python.Runtime.PythonException.ThrowLastAsClrException()
at Python.Runtime.ImportHook.SetupImportHook()
at Python.Runtime.ImportHook.Initialize()
at Python.Runtime.Runtime.Initialize(Boolean initSigs)
at Python.Runtime.PythonEngine.Initialize(IEnumerable`1 args, Boolean setSysArgv, Boolean initSigs)
at Python.Runtime.PythonEngine.InitExt()
at Python.Runtime.Loader.Initialize(IntPtr data, Int32 size)
at Python.Runtime.PythonException.TryDecodePyErr(BorrowedReference typeRef, BorrowedReference valRef, BorrowedReference tbRef)
at Python.Runtime.PythonException.FetchCurrentOrNull(ExceptionDispatchInfo& dispatchInfo)
at Python.Runtime.PythonException.ThrowLastAsClrException()
at Python.Runtime.ImportHook.SetupImportHook()
at Python.Runtime.ImportHook.Initialize()
at Python.Runtime.Runtime.Initialize(Boolean initSigs)
at Python.Runtime.PythonEngine.Initialize(IEnumerable`1 args, Boolean setSysArgv, Boolean initSigs)
at Python.Runtime.PythonEngine.InitExt()
at Python.Runtime.Loader.Initialize(IntPtr data, Int32 size)Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "C:\Users\ericfoss\temp\.venv\lib\site-packages\appmap\wrapt\wrappers.py", line 581, in __call__
return self._self_wrapper(self.__wrapped__, instance,
File "C:\Users\ericfoss\temp\.venv\lib\site-packages\_appmap\importer.py", line 231, in wrapped_exec_module
exec_module(*args, **kwargs)
File "C:\Users\ericfoss\temp\.venv\lib\site-packages\clr.py", line 6, in <module>
load()
File "C:\Users\ericfoss\temp\.venv\lib\site-packages\pythonnet\__init__.py", line 144, in load
raise RuntimeError("Failed to initialize Python.Runtime.dll")
RuntimeError: Failed to initialize Python.Runtime.dll
>>>
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Reproduce el fallo con el entorno de Pipenv mostrado ejecutando Python e importando clr. Empieza por appmap/wrapt/wrappers.py y _appmap/importer.py; después, inspecciona clr.py y la inicialización de pythonnet que se muestran en el traceback. Se considera completado cuando importar clr funciona correctamente mientras AppMap está instalado y habilitado.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- tooling
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 30/100