Search code examples
pythonpipvirtualenvpython-wheelpython-cffi

Pip Installation - How to lock a python lib version when building a wheel?


Question: How do I force pip wheel building to use a particular package?

Full background:

I have a project with setup.py with a set of libs with versions locked down.

Libs are something like this (shortened for conciseness):

cffi==1.15.0
<some_other_pkg>=1.0.0
<lots of other packages>

When some_other_pkg installs, pip attempts to build the wheel for this package it uses cffi==1.15.1. I would have expected this to use 1.15.0 when building the wheel given the above.

This is a problem for me as my server can't run with cffi==1.15.1.

How can I instruct pip to use cffi==1.15.0 in the pip wheel building as part of the pip install requirements.pip ?

Further details: using python3, virtualenv, pip, setuptools

Thanks


Solution

  • I solved this yesterday by doing the following:

    1. Creating the venv
    2. pip install cibffi==1.15.0
    3. Installing my project via: pip install . in the dir with the setup.py file.

    The above forced the building of wheels to utilise cibffi==1.15.0 instead of the newer version and so no issues relating to missing unix pkg libffi-devel.