13

is there any means of telling QGIS to use a different Python installation than the default, system-wide one? E.g. use some virtualenv Python /myvirtualenv/bin/python instead of /usr/bin/python?

Background: I'm developing a custom plugin that uses some modules which are only installed in a certain virtualenv, but not system-wide.

The virtualenv is allowed to access system-wide packages, so the qgis core libs should still be accessible when using that virtualenv.

The only solution that I see right now is to install the required modules in the system-wide Python. However, I'd like to keep them in the virtualenv only, if possible.

2 Answers 2

7

You can first load your virtual environment and then start QGIS in the same terminal where you loaded the virtual environment.

for example in linux:

python3 -m venv virtualenv --system-site-packages source virtualenv/bin/activate qgis 

Make sure to give the environment access to the system site-packages.

2
  • 1
    this didn't work for me (QGIS 3.4.4, linux mint 18) Commented Jul 18, 2019 at 17:04
  • for my only worked if creating the virtual environment with python3 -m venv .venv --system-site-packages and then source .venv/bin/activate and qgis Commented Aug 29, 2024 at 20:30
3

I cannot guarantee this will work but perhaps you could try setting a custom variable to load your python version:

System Environment

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.