[PyQt] Recreating virtualenvs with PyQt
Phil Thompson
phil at riverbankcomputing.com
Mon Mar 13 08:04:53 GMT 2017
On 13 Mar 2017, at 6:39 am, Florian Bruhin <me at the-compiler.org> wrote:
>
> Hi,
>
> The usual way to recreate a virtualenv is to freeze its dependencies
> and install them in a new env:
>
> venv1/bin/pip freeze > requirements.txt
> venv2/bin/pip install -r requirements.txt
>
> However, this doesn't seem to work with PyQt5 since the fixed up 5.7.1
> packages. "pip freeze" still shows 5.7.1, but that's not installable:
You mean the fixed up 5.8.1 packages?
> $ venv1/bin/pip install PyQt5
> Collecting PyQt5
> Using cached PyQt5-5.8.1.1-5.8.0-cp35.cp36.cp37-abi3-manylinux1_x86_64.whl
> Collecting sip<4.20,>=4.19 (from PyQt5)
> Using cached sip-4.19.1-cp36-cp36m-manylinux1_x86_64.whl
> Installing collected packages: sip, PyQt5
> Successfully installed PyQt5-5.8.1 sip-4.19.1
>
> $ venv1/bin/pip freeze
> appdirs==1.4.3
> packaging==16.8
> pyparsing==2.2.0
> PyQt5==5.8.1
> sip==4.19.1
> six==1.10.0
>
> $ venv1/bin/pip freeze > requirements.txt
> $ venv2/bin/pip install -r requirements.txt
> Requirement already satisfied: appdirs==1.4.3 in ./venv2/lib/python3.6/site-packages (from -r requirements.txt (line 1))
> Requirement already satisfied: packaging==16.8 in ./venv2/lib/python3.6/site-packages (from -r requirements.txt (line 2))
> Requirement already satisfied: pyparsing==2.2.0 in ./venv2/lib/python3.6/site-packages (from -r requirements.txt (line 3))
> Collecting PyQt5==5.8.1 (from -r requirements.txt (line 4))
> Could not find a version that satisfies the requirement PyQt5==5.8.1 (from -r requirements.txt (line 4)) (from versions: 5.7.1, 5.8, 5.8.1.1)
> No matching distribution found for PyQt5==5.8.1 (from -r requirements.txt (line 4))
It's probably because I cheated because I simply renamed the wheel file and didn't change the internal meta-data to quickly work around a problem with PyPI.
If you edit requirements.txt to say PyQt5==5.8.1.1 it will probably work.
Phil
More information about the PyQt
mailing list