Skip to content

Why does it install pip into the generated virtualenv? #105

@dimaqq

Description

@dimaqq

The issue that I'm having is that building a component that uses catkin-virtualenv twice with some Python dependencies getting changed dies with this error:

  File "/usr/lib/python3/dist-packages/OpenSSL/crypto.py", line 1573, in X509StoreFlags
    CB_ISSUER_CHECK = _lib.X509_V_FLAG_CB_ISSUER_CHECK
AttributeError: module 'lib' has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK'

I've traced it down to catkin-virtualenv installing pip into the venv that it creates.

However, the version of that pip is different from the system pip.

Which means that when I try to build again, and catkin tried to install the deps into the virtual environment, it calls pip which is a hybrid of two pip versions, and they don't agree on pyopenssl (I think), leading to this traceback from crypto.

This begs the question though...

Why install pip into the generated venv?

What is the rationale for that?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions