Skip to content

Feat: Add virtualenv for dependency isolation

Hello again! :)

I managed to add virtualenvs to gemnasium python 🚀 Meaning that installations of pip and setuptools are now isolated from the global environment.

In very general terms it flows as follows;

  1. Create a virtualenv
  2. Update pip, setuptools and wheel
  3. (in case of pip) perhaps upgrade to a specific version of pip
  4. Install dependencies with the builder (setuptools/pip)
  5. create the pipdeptree.json

Why doesn't this have tests?!?!

This is my very first project in Golang and I don't know how to write tests yet 😬 any advice/tutorials would help me immensely.

@fcatteau I would very much appreciate your review and pointers on how to proceed from here. 💪

What does this MR do?

  1. Add virtualenv.go for managing virtual environments.
  2. Consolidate pipdeptree into virtualenv.go for simplicity.
  3. Adding virtualenvs to pip/setuptools to isolate environments

What are the relevant issue numbers?

Steps 2 of gitlab-org/gitlab#332558

Fixes gitlab-org/gitlab#34763 (closed)

Does this MR meet the acceptance criteria?

Edited by Thiago Figueiró

Merge request reports