Open
Description
System
- Codeql version: 2.11.2.
- Ubuntu 20.04
- system wide installation in folder (
/home/user/.local/lib/
):python3.6
,python3.8
,python3.10
. - local python version (virtual environment):
venv38/lib/python3.8/
What
I have a bash script that generates the CodeQL database from a specific folder:
...
# enter in the python3.8 environment with my libraries installed
source venv38/bin/activate
...
# create the db
codeql database create $dataset_path/codeql \
--language=python \
--overwrite \
--source-root=$dataset_raw_files_path
...
Output Log:
...
[2023-09-12 13:54:00] [build-stdout] [INFO] [2] Extracted file /usr/lib/python3.6/tarfile.py in 2036ms
[2023-09-12 13:54:00] [build-stdout] [INFO] [6] Extracted module _md5 in 13ms
[2023-09-12 13:54:00] [build-stdout] [INFO] [3] Extracted file /home/username/.local/lib/python3.6/site-packages/my_fancy_dependency/folder/dependency_file_version_36.py in 352ms
..
Expectation
I would expect codeql to create the db with the custom path to my virtual environment venv38/lib/python3.8/site-packages/..
and not the system wide python installation: .local/lib/python3.6
.
Question: How can I achieve that? Is there a specific flag or procedure? I cannot find it in the manual codeql database create
Extra Info
- I need this because the package I need (e.g., in the example the ficticious
my_fancy_dependency
) has a different version for python3.6 (systemwide python installation) and python3.8. - I noted that I have other databases which correctly use the right version of python, but it is unclear how they have been created since I have a similar script to generate them from the same folder.
Let me know if you need more info.