Hi,

My company is using python embedded into an application.

Is it possible to use pylint in unit tests, like the following:

from pylint import epylint as lint

lint.py_run('../lib/lib.py --rcfile=../pylint.rc')


I have tried that one, but I get a strange error:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File 
"/home/b/development/euryale-module-py/build.debug/py/py_lib/site-packages/pylint/lint/__init__.py",
line 76, in <module>
    from pylint.lint.parallel import check_parallel
  File 
"/home/b/development/euryale-module-py/build.debug/py/py_lib/site-packages/pylint/lint/parallel.py",
line 8, in <module>
    from pylint import reporters
  File 
"/home/b/development/euryale-module-py/build.debug/py/py_lib/site-packages/pylint/reporters/__init__.py",
line 27, in <module>
    from pylint import utils
  File 
"/home/b/development/euryale-module-py/build.debug/py/py_lib/site-packages/pylint/utils/__init__.py",
line 47, in <module>
    from pylint.utils.ast_walker import ASTWalker
  File 
"/home/b/development/euryale-module-py/build.debug/py/py_lib/site-packages/pylint/utils/ast_walker.py",
line 7, in <module>
    from astroid import nodes
  File 
"/home/b/development/euryale-module-py/build.debug/py/py_lib/site-packages/astroid/__init__.py",
line 51, in <module>
    from astroid.nodes import node_classes, scoped_nodes
  File 
"/home/b/development/euryale-module-py/build.debug/py/py_lib/site-packages/astroid/nodes/__init__.py",
line 27, in <module>
    from astroid.nodes.node_classes import (  # pylint:
disable=redefined-builtin (Ellipsis)
  File 
"/home/b/development/euryale-module-py/build.debug/py/py_lib/site-packages/astroid/nodes/node_classes.py",
line 47, in <module>
    from astroid import decorators, mixins, util
  File 
"/home/b/development/euryale-module-py/build.debug/py/py_lib/site-packages/astroid/decorators.py",
line 36, in <module>
    from typing import ParamSpec
ImportError: cannot import name 'ParamSpec' from 'typing'
(/home/b/development/euryale-module-py/build.debug/py/py_lib/typing.py)

After digging a bit, I think that somehow pylint is trying to use
*python* executable (from PATH), because my host python is 3.10,
while the embedded python is 3.9 and there is no python executable at all.

My question is: is there a pylint API to let it check sources with the
current python, without doing system/exec etc., which are not
available in my case?

WBR, basiliscos.
_______________________________________________
code-quality mailing list -- code-quality@python.org
To unsubscribe send an email to code-quality-le...@python.org
https://mail.python.org/mailman3/lists/code-quality.python.org/
Member address: arch...@mail-archive.com

Reply via email to