eric ide

Issue442

Classification
Title: eric6 21.1 versus Python 3.10
Type: crash Product: eric6
Process
Priority: urgent    
Status: closed Resolution: outside project
Superseder: Nosy List: detlev, fuzzyeric
Assigned to: Keywords:

Created on 2022-09-13.19:32:15 by fuzzyeric, last changed by detlev.

Files
File Name Uploaded Description Remove
Screenshot_2022-09-15_00-22-37.jpg fuzzyeric, 2022-09-15.05:59:46
Messages (6.0)
msg1675 (view) Author: detlev Date: 2022-09-15.06:45:48
* The screenshot shows eric6 using pixel based icons. In May 2020 a vector based icon set 
(light and dark mode) was introduced. This should work much better on High-DPI monitors. 
Lacking such a monitor I cannot test it but didn't get complaints so far.

* Documentation:
** The QtHelp based documentation functionality is only available in the eric Web Browser 
when started with the option '--qthelp'. The settings menu should contain the mentioned 
entry.
** Showing QtHelp based documentation in eric7 is much simpler as it contains an embedded 
help viewer.
** It is correct that documentation is a bit sparse. Everybody is welcome to contribute 
such documentation!
** Tested it over here with the eric7 web browser and it shows the index.html file 
(although of Python 3.10) without issues.
** The mentioned action is part of the help viewer menu structure and not the eric main 
menu structure. Furthermore it is only available in the external help viewer 
(eric_browser) if '--qthelp' was used to start it.
** As mentioned previously Python 2 is no longer supported!
msg1674 (view) Author: fuzzyeric Date: 2022-09-15.05:59:46
* This is a 106dpi monitor and I've attached a screenshot of Eric6 19.9 on python 3.9.14.  The icons are smaller than the (lower edge of) comfortably readable text.  Don't even get me started on the Shell font size...  The Bookmarks menu is amusing -- apparently 12 almost identical icons differing only in whether they lean left or right.
* I've spent the day trying to find documentation on the use of Eric documentation.  There is none.
** google 'eric documentation set' ... no meaningful hits
** google the error when selecting Help|Python 2 Documentation, 'The documentation starting point "/usr/share/doc/packages/python/html/index.html" could not be found.' ... no hits
** google '/usr/share/doc/packages/python/html/index.html' ... no hits
** google '/usr/share/doc/packages/python3/html/index.html' ... no hits
** google 'eric ide documentation set' ... no hits
** Extras|Plugins|Plugin Repository... ... no Python 2.7.* Documentation sets.
** Extras|Plugins|Plugin Repository...|Documentation Set, Python 3.9.0 ... "The plugins were installed successfully." ... does nothing nor indicates what actions could be taken to produce a different outcome.
** find /usr/share/doc -name index.html -print | grep 2.7 ... turns up /usr/share/doc/python2.7/html/index.html ... put that in Settings|Preferences|Help|Help Documentation|Python 2 Documentation ... no error but no docs.
** eric-ide.python-projects.org ... let's look at the Documentation ... there's a PDF that discusses none of this and can't decide if it's about eric5 or eric7.
** check all the eric6 menus for a "Manage QtHelp Documents" ... nothing there.
** google "Manage QtHelp Documents" and find one hit from the eric7 sources for the web browser main window ... wildly guess that that's eric6|Help|HelpViewer... ... and find no "Manage QtHelp Documents".
** on the Help|Helpviewer click randomly on UI elements ... eventually discover that half of the websites were hidden by a too narrow default window geometry ... select Python Web Sites|Python Language Website ... URL flickers ... and ... nothing.  Same with Qt Web Sites|Qt Documentation.

So... the eric6 documentation and HelpViewer don't work and there doesn't appear to be any way to find out how to make them work.
msg1673 (view) Author: detlev Date: 2022-09-14.09:06:32
* eric7 includes a SVG based icon set that should scale with the monitor resolution
* Documentation set plugins just provide the help documents in a format usable with qthelp. The documents to 
be presented must be configured (i.e. loaded) through 'Manage QtHelp Documents' and the starting path 
configured (e.g. qthelp://org.sphinx.python.3.10/doc/index.html)
* Missing starting point is caused by the Python documentation package not being installed or configured 
wrongly.
* Little issue here caused by Qt5 help documentation path not being configured. Will be fixed in next 
release.
* The Helpviewer is there to show the help documents, not Python 3 symbols.
* eric7 does not support Python 2 anymore as this Python version is obsolete.

Possible solutions for your situation would be:
* downgrade to Python 3.9 and use eric6 (latest release was 21.11)
* get the unmaintained eric6 sources via the repository (branch eric6 contains some Python 3.10 fixes), use 
it with Python 3.10 and fix more Python 3.10 compatibility issues yourself.
msg1672 (view) Author: fuzzyeric Date: 2022-09-14.08:49:24
I'd like to move to eric7 but,
* The icon-based UI is completely unreadable on my 4k monitor.
* Plugins: Documentation Set, Python 3.9 and 3.10 appear to do nothing.
* Help|Python 3 Documentation is broken : "The documentation starting
point "/usr/share/doc/packages/python3/html/index.html" could not be
found."
* Help|Qt5 Documentation is broken, referencing Qt6 : "The
documentation starting point
"/home/fuzzy/.local/lib/python3.10/site-packages/PyQt6/Qt6/doc/qtdoc/index.html"
could not be found."
* The eric7 Helpviewer is broken (or deceptively named), unable to
find any python 3 symbols that are not also eric symbols.
* Eric7 appears to be unable to work with the large legacy python 2.7
codebase that I maintain (and am not funded to port to 3.x).
msg1671 (view) Author: detlev Date: 2022-09-14.06:10:57
The real issue is, that this combination is not compatible. eric6 21.1 was released months 
before Python 3.10 and by that fact cannot deal with changes in Python 3.10. Furthermore it is 
to be noted, that the mentioned eric release is of January 2021 and is about 20 months old, 
unmaintained and obsolete.

The solution to all this is to upgrade to eric7, which is compatible to Python 3.10 and Python 
3.11, actively developed and maintained.

If the issue stems from a packaging issue of the distribution (e.g. Ubuntu 22.04), please let 
them know.
msg1670 (view) Author: fuzzyeric Date: 2022-09-13.19:32:15
eric6 21.1 on Debian bookworm, using Python 3.10.6 fails on launch with the error "setPixelSize(self, int): argument 1 has unexpected type 'float'"

This seems to be related to Python 3.10's change "... that take integer arguments no longer accept Decimals, Fractions and other objects that can be converted to integers only with a loss (e.g. that have the __int__() method but do not have the __index__() method)."

Error info:

<class 'TypeError'>: 
setPixelSize(self, int): argument 1 has unexpected type 'float'
--------------------------------------------------------------------------------
  File "/usr/share/eric/modules/eric6.py", line 425, in <module>
    main()
  File "/usr/share/eric/modules/eric6.py", line 404, in main
    mainWindow = UserInterface(app, loc, splash, pluginFile, disabledPlugins,
  File "/usr/share/eric/modules/UI/UserInterface.py", line 297, in __init__
    self.__createLayout(debugServer)
  File "/usr/share/eric/modules/UI/UserInterface.py", line 814, in __createLayout
    self.__createSidebarsLayout(debugServer)
  File "/usr/share/eric/modules/UI/UserInterface.py", line 1103, in __createSidebarsLayout
    self.pipWidget = PipPackagesWidget(self.pipInterface)
  File "/usr/share/eric/modules/PipInterface/PipPackagesWidget.py", line 61, in __init__
    self.setupUi(self)
  File "/usr/share/eric/modules/PipInterface/Ui_PipPackagesWidget.py", line 30, in setupUi
    self.pipMenuButton = E5ToolButton(self.baseWidget)
  File "/usr/share/eric/modules/E5Gui/E5ToolButton.py", line 55, in __init__
    font.setPixelSize(self.__badgeLabel.height() / 2.5)
-------------------------------------------------------------------------------
Version Numbers:
  Python 3.10.6, 64-Bit
  Qt 5.15.4
  PyQt 5.15.7
  PyQtChart not installed
  PyQtWebEngine 5.15.6
  QScintilla 2.11.6
  sip 6.6.2
  WebEngine 87.0.4280.144
  eric6 21.1 (rev. a0f9e97c0186)

Platform: linux
3.10.6 (main, Aug 10 2022, 11:19:32) [GCC 12.1.0]
History
Date User Action Args
2022-09-15 06:45:48detlevsetmessage_count: 5.0 -> 6.0
messages: + msg1675
2022-09-15 05:59:46fuzzyericsetfiles: + Screenshot_2022-09-15_00-22-37.jpg
message_count: 4.0 -> 5.0
messages: + msg1674
2022-09-14 09:06:32detlevsetmessage_count: 3.0 -> 4.0
messages: + msg1673
2022-09-14 08:49:24fuzzyericsetmessage_count: 2.0 -> 3.0
messages: + msg1672
2022-09-14 06:10:57detlevsetmessage_count: 1.0 -> 2.0
messages: + msg1671
nosy: + detlev
resolution: outside project
status: new -> closed
2022-09-13 19:32:15fuzzyericcreate