[Qt-creator] Python support in 4.9

Eike Ziller Eike.Ziller at qt.io
Thu Mar 28 08:34:39 CET 2019



> On 27. Mar 2019, at 19:50, Jason H <jhihn at gmx.com> wrote:
> 
> 
> 
>> Sent: Wednesday, March 27, 2019 at 2:09 PM
>> From: "Eike Ziller" <Eike.Ziller at qt.io>
>> To: "Jason H" <jhihn at gmx.com>
>> Cc: qt-creator <qt-creator at qt-project.org>
>> Subject: Re: [Qt-creator] Python support in 4.9
>> 
>> 
>> 
>>> On Mar 1, 2019, at 21:46, Jason H <jhihn at gmx.com> wrote:
>>> 
>>> I was just taking a look at the beta, and am sharing my findings.
>>> 
>>> 1. it looks like there isn't a way to import an existing python project?
>>> 1a. With an existing project how do I configure a .pyproject file, including specify the file with main / QApplication / entry point?
>> 
>> I think there currently is no transitioning implemented.
>> If I understand that correctly the default entry point for a .pyproject is the first file in the “files” list.
>> (But you can create run configurations that start any of the python source files in the project.)
> 
> There is no documentation (that I can find) about .pyproject file format.
> There is no compatibilty (I assume) with python eggs. (SOURCES.txt, etc.)

I think eggs was mentioned by the Qt for Python developers, but I do not know what exactly their plans are.

>>> 2. I also created and selected the default Qt for Python - Window project and hit run, and I got:
>>> 15:25:00: Starting /usr/bin/python /Users/jhihn/Projects/test_pythonwindow/main.py...
>>> 
>>> Traceback (most recent call last):
>>> File "/Users/jhihn/Projects/test_pythonwindow/main.py", line 3, in <module>
>>>   from PySide2.QtWidgets import QApplication, QMainWindow
>>> ImportError: No module named PySide2.QtWidgets
>>> 15:25:00: /usr/bin/python exited with code 1
>>> 
>>> But if I run it from the command line it works: 
>>> python main.py   # works
>> 
>> I assume you are on macOS and I’d guess that this is related to the usual “environment in Terminal is different than environment in applications started from Finder/Dock/Spotlight”.
>> Does it work when opening Qt Creator from the Terminal with open <path_to>/Qt Creator.app ?
>> Or, which python executable are you actually using on the terminal, possibly from Brew? The default in the python run configuration in Qt Creator seems to be /usr/bin/python.
> 
> So changing the python interpreter worked, per #5 below. Thanks!
> 
>>> 3. Starting QtCreator is slow. I get a beach ball and then a Secchi disk. Takes about 10 seconds.
>> 
>> Could you create a bugreport and attach a “Sample Process” from Activity Monitor?
> 
> This seems to be fixed in the RC. 
> 
>>> 4. Unfortunately all python projects will be called "main" in the project explorer.
>>> Maybe the entry point should be $1.py where $1 is the name of the directory? i.e. test_pythonwindow (see attached)
>> 
>> You mean when creating the project with the wizard?
> 
> Yes, screenshot attached. It defaults to main.py, but per Python, this should be __init__.py or %%PROJECTNAME%%.py
> 
>> I see that in the the “empty” wizard. That could be improved.
>> In the “window” wizard you can specify any name for the project name and main python file (default based on the main class name)
> 
> Cool. This is currently madness :-) (See other screenshot)
> 
>>> 5. How do I specify python3 for a project? It seems to default to python 2?
>> 
>> You can specify the exact python interpreter to use in the run configuration. I don’t see a way to change the default (which seems to be /usr/bin/python).
> 
> The QtC should always detect and run the shebang, if present.
> Typically my shebang looks like:
> #1/usr/bin/env python3
> 
> Note Python2 support ends Jan 1 2020 (8 months from now)

macOS still doesn’t ship python3 by default though.
But it would probably be a good idea to scan for a python3 in “known” install locations (like Brew). I think looking for shebang is an interesting idea too.

-- 
Eike Ziller
Principal Software Engineer

The Qt Company GmbH
Rudower Chaussee 13
D-12489 Berlin
eike.ziller at qt.io
http://qt.io
Geschäftsführer: Mika Pälsi,
Juha Varelius, Mika Harjuaho
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B



More information about the Qt-creator mailing list