[PyQt] Qscintilla api location in PyQt4

Phil Thompson phil at riverbankcomputing.com
Wed Apr 3 10:24:42 BST 2013


On Tue, 2 Apr 2013 19:45:21 -0500, William Kyngesburye
<woklist at kyngchaos.com> wrote:
> On Apr 2, 2013, at 7:23 PM, Phil Thompson wrote:
> 
>> On Tue, 2 Apr 2013 19:04:38 -0500, William Kyngesburye
>> <woklist at kyngchaos.com> wrote:
>>> On Apr 2, 2013, at 6:44 PM, Phil Thompson wrote:
>>> 
>>>> On Tue, 2 Apr 2013 12:28:54 -0500, William Kyngesburye
>>>> <woklist at kyngchaos.com> wrote:
>>>>> A bit of a discrepancy in API locations:
>>>>> 
>>>>> In the Qscintilla source, the default location to place the API
files
>> is
>>>>> QT_INSTALL_DATA/qsci, for both the Qscintilla library compilation
and
>>>> the
>>>>> Qsci PyQt module compilation.
>>>>> 
>>>>> In the PyQt source, the default location for the API files is
>> QTDIR/qsci
>>>>> (that's what "configure.py --help" tells me).
>>>>> 
>>>>> On OS X, at least, QT_INSTALL_DATA is defined in qmake, QTDIR is not
>>>> (and
>>>>> it's not something most OS X users will think to define in the
shell,
>> if
>>>>> they even know what the QTDIR should be because the OS X Qt
>> installation
>>>> is
>>>>> weird), so PyQt API files could end up at the root /qsci, unless
it's
>>>>> configured with the -n flag to set the location.
>>>>> 
>>>>> If QTDIR is something like an install prefix, QTDIR/qsci is probably
>> not
>>>>> right on other systems with a defined QTDIR anyways.
>>>> 
>>>> QTDIR is shorthand for the root of your Qt installation - it's not an
>>>> environment variable.
>>>> 
>>>> Suggestions welcome for a clearer way of expressing this.
>>>> 
>>> So, the problem still stands - QTDIR/qsci is not the proper default
>> place
>>> to put the Qsci API files - it doesn't agree with the default used in
>>> Qscintilla itself.
>> 
>> In a standard Qt installation these resolve to the same directory. The
>> different ways of referring to it reflect the different ways that the
>> scripts determine it.
>> 
> Again, at least for OS X, still a problem.  The "standard" binary Qt
> install has no root, QTDIR is not defined as far as I can see, and parts
> are scattered around the system.  "qmake -query QTDIR" returns
**Unknown**.
> In PyQt I get '/' for qt_dir in pyqtconfig.py.

You are still missing the point that QTDIR is just how configure.py refers
to the Qt root directory in its help text (before it's able to report the
actual value that will be used).
 
> As installed, frameworks are in /Library/Frameworks.  Plugins,
development
> apps, language files, ... are in /Developer/Applications/Qt.  Command
line
> tools are in /usr/bin.  dev libraries & headers (clucene & uitools) in
> /usr/lib & /usr/include.  mkspecs are in /usr/local/Qt4.8.

That is that particular binary installer. A standard installation will put
everything under a single directory. Creators of binary installers are free
to put things anywhere they want. configure.py should have enough flags to
allow the locations of the different components to be specified explicitly.

> qmake -query QT_INSTALL_DATA
> 
> returns /usr/local/Qt4.8, same place as the mkspecs.
> 
> No real root other than the root of the HD, so QTDIR/qsci misses
> /usr/local/Qt4.8/qsci completely.

I think using QT_INSTALL_DATA/qsci in the help message rather than
QTDIR/qsci would avoid your confusion.

Phil


More information about the PyQt mailing list