My company is using python embedded into an application.
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.