1

Many modern software has dependency on python language and they -as a consequence- install their own versions of python with the necessary libraries for each particular software to work properly.

In my case, I have my own python that I downloaded intentionally using anaconda distribution, but I also have the ones came with ArcGIS, QGIS, and others.

I have difficulties distinguishing which python -say- I am updating or adding libraries to when reaching them from the command line, and these are not environments but rather the full python packages.

What is the best way to tackle that? Is there a way to force new software to create new environments within one central python distribution instead of loosing track of all the copies existing in my computer?!

  • Note that I am aware that QGIS can be downloaded now through conda, which reduces the size of my problem, but doesn't completely solve it. Moreover, that version of QGIS comes with its own issues.

Thank you very much.

3
  • Have you considered Virtual Environments ? Commented Sep 25, 2021 at 9:52
  • Virtual Environments are good when the whole setup starts from the command line using conda or pip, but when installing sofware through executables it is often that we don't have that level of customizability. Commented Sep 25, 2021 at 10:02
  • Installing of the executables can be inside a virtual environment itself . Say Software A is Venv . . U create Software A Virtual env with a python Version , Let software A install its own Python Version . Commented Sep 25, 2021 at 10:09

2 Answers 2

1

as Nukala suggested, that's exactly what virtual environments are for. It contains a particular version of a python interpreter and a set of libraries to be used by a single (or sometimes multiple) project. If you use IDE:s such as Pycharm, it handles the venvs for you automatically.

Sign up to request clarification or add additional context in comments.

Comments

1

You can use pyenv to manage python versions in your system. Using pyenv you can easily switch between multiple versions.

And as suggested - each project can create a virtual environment. You have multiple options here - venv, virtualenv, virtualenvwrapper, pipenv, poetry ... etc.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.