[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pykde
Subject:    Re: [PyQt] Supplying PyQt5 via PyPI
From:       Marcus Ottosson <konstruktion () gmail ! com>
Date:       2014-09-30 13:43:01
Message-ID: CAFRtmOAEP2QKoRSx4ZJum3tAzD3dCLWHH5KOMgtLpzgUMWOgmQ () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


qmlscene.exe and other binaries have now been resolved, and qt.conf is now
distributed and installed similar to the Riverbanks distribution.

As far as I can tell, the distribution works well, including QML, however
it is distributed as a source-distribution, which means it'll install on
any platform yet only work on Windows; the reason being that it enables
automatic distribution from GitHub via Travis. I'd like to have it
distributed for OSX as well though.

If anyone has any ideas on cross-compiling/distributing, I'd love to hear
about them.
​

On 29 September 2014 14:24, Marcus Ottosson <konstruktion@gmail.com> wrote:

> A first version is up here:
> https://github.com/pyqt/python-qt5
>
> Install like this:
>
> $ pip install python-qt5
>
> Currently only supports:
>
>    - Python 2.7
>    - Windows 7+
>
> And uses PyQt5.3.2 compiled with Qt 5.3.1 and requires the VS2013
> redistributable.
> Differences between the distribution provided by Riverbank
>
>    1. sip is bundled within the /PyQt5 directory
>    2. qt.conf is replaced with initialisation within __init__.py
>    3. Version numbers provided via PyQt5.version, PyQt5.qt_version and
>    PyQt5.pyqt_version
>
> Due to 1 and 2, I expect issues when running qmlscene.exe and such as they
> wouldn't get the initialisation from Python, though it does simplify
> distribution just a tad and allows for multiple PyQt5 versions to coexist.
> Let's talk.
>
> Best,
> Marcus
> ​
>
> On 23 September 2014 09:14, Marcus Ottosson <konstruktion@gmail.com>
> wrote:
>
>> Thanks Chris and Matt.
>>
>> On 22 September 2014 22:58, Chris Kaynor <ckaynor@zindagigames.com>
>> wrote:
>>
>>> On Mon, Sep 22, 2014 at 2:13 PM, Matt Newell <newellm@blur.com> wrote:
>>>
>>>> I have compiled qt/sip/pyqt and a lot of other c++ stuff with msvc2005,
>>>> 2008,
>>>> 2010, and recently 2012 ALL linked against python.org's python 2.7 and
>>>> I've
>>>> never had an issue.  This code has been used extensively in production
>>>> with
>>>> over 100 users inside various 3rd party applications (3dsmax, softimage
>>>> xsi,
>>>> more recently maya), a bunch of in house applications, and from
>>>> python.exe
>>>> itself.
>>>>
>>>> However you MUST use the same msvc for anything that passes around c++
>>>> objects, or you WILL get crashes.
>>>>
>>>> Fortunately libpython is an all C api and it's my understanding that
>>>> the C ABI
>>>> has been stable between msvc versions.  I think the new/delete problem
>>>> does
>>>> not apply because of the way python's memory management works.  I also
>>>> think
>>>> that any python modules i've compiled do not pass FILE pointers to
>>>> python's
>>>> api.
>>>>
>>>> I'm not saying problems aren't possible just that in my experience it
>>>> works
>>>> fine.
>>>>
>>>
>>> This has generally been my experience as well. Namely, at work we use
>>> Maya 2013 which embeds CPython 2.7 compiled against VS2010, and most 3rd
>>> party C extensions work fine. Additionally, we have a few internal C
>>> extensions as well, which are compiled against VS2010, and they work fine
>>> in Python 2.7 as downloaded from python.org.
>>>
>>> In a few cases, however, we have run into issues, which are quite
>>> annoying. Generally, any issues show up almost immediately, however in a
>>> few cases crashes have shown up days or weeks after starting to use a
>>> library, when somebody decides to call a function that then passes a C std
>>> object across the library boundary, which are then often very difficult to
>>> debug.
>>>
>>> Chris
>>>
>>> _______________________________________________
>>> PyQt mailing list    PyQt@riverbankcomputing.com
>>> http://www.riverbankcomputing.com/mailman/listinfo/pyqt
>>>
>>
>>
>>
>> --
>> *Marcus Ottosson*
>> konstruktion@gmail.com
>>
>
>
>
> --
> *Marcus Ottosson*
> konstruktion@gmail.com
>



-- 
*Marcus Ottosson*
konstruktion@gmail.com

[Attachment #5 (text/html)]

<div dir="ltr"><p style="margin:1.2em 0px!important"><code \
style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px \
0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid \
rgb(234,234,234);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom- \
right-radius:3px;border-bottom-left-radius:3px;display:inline;background-color:rgb(248,248,248)">qmlscene.exe</code> \
and other binaries have now been resolved, and <code \
style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px \
0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid \
rgb(234,234,234);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom- \
right-radius:3px;border-bottom-left-radius:3px;display:inline;background-color:rgb(248,248,248)">qt.conf</code> \
is now distributed and installed similar to the Riverbanks distribution.</p> <p \
style="margin:1.2em 0px!important">As far as I can tell, the distribution works well, \
including QML, however it is distributed as a source-distribution, which means it'll \
install on any platform yet only work on Windows; the reason being that it enables \
automatic distribution from GitHub via Travis. I&#39;d like to have it distributed \
for OSX as well though.</p><p style="margin:1.2em 0px!important">If anyone has any \
ideas on cross-compiling/distributing, I&#39;d love to hear about them.</p> <div \
title="MDH:YHFtbHNjZW5lLmV4ZWAgYW5kIG90aGVyIGJpbmFyaWVzIGhhdmUgbm93IGJlZW4gcmVzb2x2ZWQs
 IGFuZCBgcXQuY29uZmAgaXMgbm93IGRpc3RyaWJ1dGVkIGFuZCBpbnN0YWxsZWQgc2ltaWxhciB0
byB0aGUgUml2ZXJiYW5rcyBkaXN0cmlidXRpb24uPGRpdj48YnI+PC9kaXY+PGRpdj5BcyBmYXIg
YXMgSSBjYW4gdGVsbCwgdGhlIGRpc3RyaWJ1dGlvbiB3b3JrcyB3ZWxsLCBob3dldmVyIGl0IGlz
IGRpc3RyaWJ1dGVkIGFzIGEgc291cmNlLWRpc3RyaWJ1dGlvbiwgd2hpY2ggbWVhbnMgaXQnbGwg
aW5zdGFsbCBvbiBhbnkgcGxhdGZvcm0geWV0IG9ubHkgd29yayBvbiBXaW5kb3dzLiBUaGUgcmVh
c29uIGJlaW5nIHRoYXQgaXQgZW5hYmxlcyBhdXRvbWF0aWMgZGlzdHJpYnV0aW9uIGZyb20gR2l0
SHViIHZpYSBUcmF2aXMuPC9kaXY+" \
style="min-height:0;font-size:0em;padding:0;margin:0">​</div></div><div \
class="gmail_extra"><br><div class="gmail_quote">On 29 September 2014 14:24, Marcus \
Ottosson <span dir="ltr">&lt;<a href="mailto:konstruktion@gmail.com" \
target="_blank">konstruktion@gmail.com</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><div dir="ltr"><div><p style="margin:1.2em 0px!important">A \
first version is up here:<br><a href="https://github.com/pyqt/python-qt5" \
target="_blank">https://github.com/pyqt/python-qt5</a></p> <p style="margin:1.2em \
0px!important">Install like this:</p> <pre \
style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em \
0px"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px \
0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid \
rgb(234,234,234);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom- \
right-radius:3px;border-bottom-left-radius:3px;display:inline;background-color:rgb(248 \
,248,248);white-space:pre-wrap;overflow:auto;border-top-left-radius:3px;border-top-rig \
ht-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border:1px \
solid rgb(204,204,204);padding:0.5em \
0.7em;display:block!important;display:block;overflow-x:auto;padding:0.5em;color:rgb(51,51,51);background:rgb(248,248,248)">$ \
pip install python-qt5 </code></pre>
<p style="margin:1.2em 0px!important">Currently only supports:</p>
<ul style="margin:1.2em 0px;padding-left:2em">
<li style="margin:0.5em 0px">Python 2.7</li>
<li style="margin:0.5em 0px">Windows 7+</li>
</ul>
<p style="margin:1.2em 0px!important">And uses PyQt5.3.2 compiled with Qt 5.3.1 and \
requires the VS2013 redistributable.</p> <h3 style="margin:1.3em 0px \
1em;padding:0px;font-weight:bold;font-size:1.3em">Differences between the \
distribution provided by Riverbank</h3> <ol style="margin:1.2em \
0px;padding-left:2em"> <li style="margin:0.5em 0px">sip is bundled within the /PyQt5 \
directory</li> <li style="margin:0.5em 0px">qt.conf is replaced with initialisation \
within __init__.py</li> <li style="margin:0.5em 0px">Version numbers provided via \
PyQt5.version, PyQt5.qt_version and PyQt5.pyqt_version</li> </ol>
<p style="margin:1.2em 0px!important">Due to 1 and 2, I expect issues when running \
qmlscene.exe and such as they wouldn't get the initialisation from Python, though it \
does simplify distribution just a tad and allows for multiple PyQt5 versions to \
coexist. Let's talk.</p> <p style="margin:1.2em 0px!important">Best,<br>Marcus</p>
<div title="MDH:QSBmaXJzdCB2ZXJzaW9uIGlzIHVwIGhlcmU6PGRpdj5odHRwczovL2dpdGh1Yi5jb20vcHlxdC9w
 eXRob24tcXQ1PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+SW5zdGFsbCBsaWtlIHRoaXM6
PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5gYGBweXRob248L2Rpdj48ZGl2PiQgcGlwIGluc3Rh
bGwgcHl0aG9uLXF0NTwvZGl2PjxkaXY+YGBgPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5DdXJy
ZW50bHkgb25seSBzdXBwb3J0czo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pi0gUHl0aG9uIDIu
NzwvZGl2PjxkaXY+LSBXaW5kb3dzIDcrPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5BbmQgdXNl
cyBQeVF0NS4zLjIgY29tcGlsZWQgd2l0aCBRdCA1LjMuMSBhbmQgcmVxdWlyZXMgdGhlIFZTMjAx
MyByZWRpc3RyaWJ1dGFibGUuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj4jIyMgRGlmZmVyZW5j
ZXMgYmV0d2VlbiB0aGUgZGlzdHJpYnV0aW9uIHByb3ZpZGVkIGJ5IFJpdmVyYmFuazwvZGl2Pjxk
aXY+PGJyPjwvZGl2PjxkaXY+MS4gc2lwIGlzIGJ1bmRsZWQgd2l0aGluIHRoZSAvUHlRdDUgZGly
ZWN0b3J5PC9kaXY+PGRpdj4xLiBxdC5jb25mIGlzIHJlcGxhY2VkIHdpdGggaW5pdGlhbGlzYXRp
b24gd2l0aGluIFxfXF9pbml0XF9cXy5weTwvZGl2PjxkaXY+MS4gVmVyc2lvbiBudW1iZXJzIHBy
b3ZpZGVkIHZpYSBQeVF0NS52ZXJzaW9uLCBQeVF0NS5xdF92ZXJzaW9uIGFuZCBQeVF0NS5weXF0
X3ZlcnNpb248L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkR1ZSB0byAxIGFuZCAyLCBJIGV4cGVj
dCBpc3N1ZXMgd2hlbiBydW5uaW5nIHFtbHNjZW5lLmV4ZSBhbmQgc3VjaCBhcyB0aGV5IHdvdWxk
bid0IGdldCB0aGUgaW5pdGlhbGlzYXRpb24gZnJvbSBQeXRob24sIHRob3VnaCBpdCBkb2VzIHNp
bXBsaWZ5IGRpc3RyaWJ1dGlvbiBqdXN0IGEgdGFkIGFuZCBhbGxvd3MgZm9yIG11bHRpcGxlIFB5
UXQ1IHZlcnNpb25zIHRvIGNvZXhpc3QuIExldCdzIHRhbGsuPC9kaXY+PGRpdj48YnI+PC9kaXY+
PGRpdj5CZXN0LDwvZGl2PjxkaXY+TWFyY3VzPC9kaXY+" \
style="min-height:0;font-size:0em;padding:0;margin:0">​</div></div></div><div \
class="gmail_extra"><div><div class="h5"><br><div class="gmail_quote">On 23 September \
2014 09:14, Marcus Ottosson <span dir="ltr">&lt;<a \
href="mailto:konstruktion@gmail.com" \
target="_blank">konstruktion@gmail.com</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><div dir="ltr">Thanks Chris and Matt.<br></div><div \
class="gmail_extra"><br><div class="gmail_quote"><div><div>On 22 September 2014 \
22:58, Chris Kaynor <span dir="ltr">&lt;<a href="mailto:ckaynor@zindagigames.com" \
target="_blank">ckaynor@zindagigames.com</a>&gt;</span> \
wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 \
.8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr"><div \
class="gmail_extra"><span><div class="gmail_quote">On Mon, Sep 22, 2014 at 2:13 PM, \
Matt Newell <span dir="ltr">&lt;<a href="mailto:newellm@blur.com" \
target="_blank">newellm@blur.com</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><div style="overflow:hidden">I have compiled qt/sip/pyqt and \
a lot of other c++ stuff with msvc2005, 2008,<br> 2010, and recently 2012 ALL linked \
against <a href="http://python.org" target="_blank">python.org</a>&#39;s python 2.7 \
and I&#39;ve<br> never had an issue.   This code has been used extensively in \
production with<br> over 100 users inside various 3rd party applications (3dsmax, \
softimage xsi,<br> more recently maya), a bunch of in house applications, and from \
python.exe<br> itself.<br>
<br>
However you MUST use the same msvc for anything that passes around c++<br>
objects, or you WILL get crashes.<br>
<br>
Fortunately libpython is an all C api and it&#39;s my understanding that the C \
ABI<br> has been stable between msvc versions.   I think the new/delete problem \
does<br> not apply because of the way python&#39;s memory management works.   I also \
think<br> that any python modules i&#39;ve compiled do not pass FILE pointers to \
python&#39;s<br> api.<br>
<br>
I&#39;m not saying problems aren&#39;t possible just that in my experience it \
works<br> fine.</div></blockquote></div><br></span>This has generally been my \
experience as well. Namely, at work we use Maya 2013 which embeds CPython 2.7 \
compiled against VS2010, and most 3rd party C extensions work fine. Additionally, we \
have a few internal C extensions as well, which are compiled against VS2010, and they \
work fine in Python 2.7 as downloaded from <a href="http://python.org" \
target="_blank">python.org</a>.</div><div class="gmail_extra"><br></div><div \
class="gmail_extra">In a few cases, however, we have run into issues, which are quite \
annoying. Generally, any issues show up almost immediately, however in a few cases \
crashes have shown up days or weeks after starting to use a library, when somebody \
decides to call a function that then passes a C std object across the library \
boundary, which are then often very difficult to debug.<span><font \
color="#888888"><br><br clear="all"><div>Chris</div> </font></span></div></div>
<br></div></div><span>_______________________________________________<br>
PyQt mailing list      <a href="mailto:PyQt@riverbankcomputing.com" \
target="_blank">PyQt@riverbankcomputing.com</a><br> <a \
href="http://www.riverbankcomputing.com/mailman/listinfo/pyqt" \
target="_blank">http://www.riverbankcomputing.com/mailman/listinfo/pyqt</a><br></span></blockquote></div><span><font \
color="#888888"><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><font \
size="1"><b>Marcus Ottosson</b><br><a href="mailto:konstruktion@gmail.com" \
target="_blank">konstruktion@gmail.com</a></font><font size="1"><br></font></div> \
</font></span></div> </blockquote></div><br><br \
clear="all"><div><br></div></div></div><span class="HOEnZb"><font color="#888888">-- \
<br><div dir="ltr"><font size="1"><b>Marcus Ottosson</b><br><a \
href="mailto:konstruktion@gmail.com" \
target="_blank">konstruktion@gmail.com</a></font><font size="1"><br></font></div> \
</font></span></div> </blockquote></div><br><br clear="all"><div><br></div>-- \
<br><div dir="ltr"><font size="1"><b>Marcus Ottosson</b><br><a \
href="mailto:konstruktion@gmail.com" \
target="_blank">konstruktion@gmail.com</a></font><font size="1"><br></font></div> \
</div>


[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