Slightly OT - using PyUIC from Eclipse

Fabio Zadrozny fabiofz at gmail.com
Wed Apr 30 18:49:42 EDT 2014


On Wed, Apr 30, 2014 at 8:39 AM, Steve Simmons <square.steve at gmail.com>wrote:

> I'm trying to set up a new dev environment using Windows 7; Eclipse
> (Kepler); Python 3.3; PyDev and PyQt 5 and I've hit an issue getting PyUIC
> to generate a python Qt class from within Eclipse.
>
> I'm using the following setup process (from Google Groups)  modified to
> match my PyQt5 configuration:
>
> 1. Click Run -> External Tools -> External Tools Configurations ...
> 2. In the resulting dialog, click 'New' icon in the top left
> 3. Under 'Name' put 'PyUIC'
> 4. Under 'Location' enter 'C:\Program Files\Python\2.5\Python.exe' or
> the path to your Python executable (probably C:\Python25\Python.exe)
> 5. Under 'Arguments' enter '"C:\Program Files\Python\2.5\Lib\site-
> packages\PyQt4\uic\pyuic.py"  "${resource_loc}"' substituting the path
> to your PyQt4 installation - be sure also to include the double quotes
> 6. Change to the 'Common' tab and check 'File' under 'Standard Input/
> Output' and enter '${resource_loc}.py'
> 7. Change to the 'Build' tab and uncheck 'Build before launch'
> 8. Change to the 'Refresh' tab and check 'Refresh resources upon
> completion'
> 9. Click 'Apply' then 'Run'
>
> and I'm getting the following traceback:
>
> Traceback (most recent call last):
>   File "D:\Development\Python33\Lib\site-packages\PyQt5\uic\pyuic.py",
> line 28, in <module>
>     from .driver import Driver
> SystemError: Parent module '' not loaded, cannot perform relative import
>
> I tried this on Qt4 a week or so ago and it worked OK but Qt5 is giving me
> an error message, so I guess I've either mis-transcribed or there's a
> difference in the directory structure betwee PyQt4 & PyQt5.
>
> I'm more interested to learn how to read the traceback (insightfully) and
> track it to the source of the problem, although it would be good to have it
> working too!!
>
> Steve Simmons
>
> PS Also posted to PyQT list.
> --
> https://mail.python.org/mailman/listinfo/python-list
>


The problem is that a main module cannot perform relative imports on
Python. To overcome that limitation, Python created a workaround to execute
a module with:

python -m 'module.name'

So, If you execute Python as:

python -m PyQt5.uic.pyuic

(instead of "python C:\Program
Files\Python\2.5\Lib\site-packages\PyQt5\uic\pyuic.py")

it should work.

If you want, you can read an answer on
http://stackoverflow.com/questions/14132789/python-relative-imports-for-the-billionth-timefor
more details on why it doesn't work and the other way does...

Cheers,

Fabio
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20140430/119bbbba/attachment.html>


More information about the Python-list mailing list