[prev in list] [next in list] [prev in thread] [next in thread]
List: pykde
Subject: Re: [PyQt] Installing multiple versions of PyQt
From: Detlev Offenbach <detlev () die-offenbachs ! de>
Date: 2015-05-23 10:58:01
Message-ID: 2805668.th29R55arm () saturn
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
Hi,
it is like shown below.
1. Compile and install Qt. That creates an installation directory (e.g.
/usr/local/Trolltech/Qt-4.x.y or /usr/local/Qt-5.x.y).
2. Compile the QScintilla C++ part for each Qt installation
3. Have a virtualenv for the relevant Python/Qt combination (note PyQt4 and PyQt5 can be
installed in parallel).
4. Compile PyQt with something like
export PATH=/usr/local/Qt-5.4/bin:~/py3qt50env/bin:$PATH
~/py3qt50env/bin/python configure.py -b ~/py3qt50env/bin/ -v ~/py3qt50env/pyqt5sip -c -j8 --
confirm-license
(all on one line)
Detlev
On Friday 22 May 2015, 09:07:44 Florian Bruhin wrote:
> * Detlev Offenbach <detlev@die-offenbachs.de> [2015-05-20 19:31:12 +0200]:
> > On Wednesday 20 May 2015, 10:45:28 Giuseppe Corbelli wrote:
> > > On 20/05/2015 09:45, Florian Bruhin wrote:
> > > >>> - Use some kind of containers/chroots instead of VMs.
> > > >>
> > > >> Virtualenv?
> > > >
> > > > That'd basically be my second idea (multiple installs on the same
> > > > system). However that still means I'll have to manage multiple Qt
> > > > installs (and multiple PyQt installs which each use the right Qt) on
> > > > the same system, which might be hard.
> > >
> > > Never tried what I'm talking about but if you just install qt4 and qt5
> > > systemwide and have different virtualenvs for pyqt4 (its own sip) and
> > > pyqt5
> > > (its own sip) it should not be a PITA.
> >
> > That is exactly the kind of setup I am using to test eric (my Python IDE)
> > with various (but not all) combinations of Qt, PyQt and Python. I needed
> > it because eric is compatible with Python2 and 3 and PyQt4/Qt4, PyQt4/Qt5
> > and PyQt5/Qt5.
>
> Nice! Could you elaborate a bit on how you set this up? Is it
> essentially something like this?
>
> - Compile multiple versions of Qt with -developer-build.
> - Compile PyQt for each with --qmake=/path/to/qt/bin/qmake
> - Symlink the libraries in a virtualenv each (or adjust PYTHONPATH
> accordingly)
>
> Florian--
*Detlev Offenbach*
detlev@die-offenbachs.de
[Attachment #5 (unknown)]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Liberation Sans'; font-size:9pt; font-weight:400; \
font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Hi,</p> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">it is like shown below.</p> <p style="-qt-paragraph-type:empty; \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; "> </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">1. Compile and \
install Qt. That creates an installation directory (e.g. /usr/local/Trolltech/Qt-4.x.y or \
/usr/local/Qt-5.x.y).</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">2. Compile the \
QScintilla C++ part for each Qt installation</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">3. \
Have a virtualenv for the relevant Python/Qt combination (note PyQt4 and PyQt5 can be installed \
in parallel).</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">4. Compile PyQt with \
something like</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;">export \
PATH=/usr/local/Qt-5.4/bin:~/py3qt50env/bin:$PATH</p> <p style="-qt-paragraph-type:empty; \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; "> </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">~/py3qt50env/bin/python configure.py -b ~/py3qt50env/bin/ -v \
~/py3qt50env/pyqt5sip -c -j8 --confirm-license</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">(all on one line)</p> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
"> </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Detlev</p> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">On Friday 22 May 2015, 09:07:44 Florian Bruhin wrote:</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;">> * Detlev Offenbach <detlev@die-offenbachs.de> \
[2015-05-20 19:31:12 +0200]:</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> > On \
Wednesday 20 May 2015, 10:45:28 Giuseppe Corbelli wrote:</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">> > > On 20/05/2015 09:45, Florian Bruhin wrote:</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;">> > > >>> - Use some kind of \
containers/chroots instead of VMs.</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> \
> > >> </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> > > \
>> Virtualenv?</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> > > > \
</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> > > > That'd basically be \
my second idea (multiple installs on the same</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> \
> > > system). However that still means I'll have to manage multiple Qt</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;">> > > > installs (and multiple PyQt installs \
which each use the right Qt) on</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> \
> > > the same system, which might be hard.</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">> > > </p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> \
> > Never tried what I'm talking about but if you just install qt4 and qt5</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;">> > > systemwide and have different virtualenvs \
for pyqt4 (its own sip) and</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> > > \
pyqt5</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> > > (its own sip) it should \
not be a PITA.</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> > </p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> > That is exactly the kind of \
setup I am using to test eric (my Python IDE)</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> \
> with various (but not all) combinations of Qt, PyQt and Python. I needed</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;">> > it because eric is compatible with Python2 and 3 \
and PyQt4/Qt4, PyQt4/Qt5</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> > and \
PyQt5/Qt5.</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">> Nice! Could you elaborate a bit on how you set this up? Is it</p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> essentially something like \
this?</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> </p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">> - Compile multiple versions of Qt with -developer-build.</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;">> - Compile PyQt for each with \
--qmake=/path/to/qt/bin/qmake</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> \
- Symlink the libraries in a virtualenv each (or adjust PYTHONPATH</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;">> accordingly)</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">> </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> Florian<br />-- \
</p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-size:0.92em; \
font-weight:600;">Detlev Offenbach</span></p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">detlev@die-offenbachs.de</p></body></html>
[Attachment #6 (text/plain)]
_______________________________________________
PyQt mailing list PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic