spyder-ide / spyder

Official repository for Spyder - The Scientific Python Development Environment
https://www.spyder-ide.org
MIT License
8.33k stars 1.61k forks source link

Spyder 2.3.9 featured a better select file dialogue (for opening, saving ... ) than 3.0.2 #3815

Open grg2rsr opened 7 years ago

grg2rsr commented 7 years ago

Description of your problem

Spyder 2.3.9 features a better file explorer than 3.0.2. The old one could display bookmarks made in nautilus, and looked overall more modern and better integrated into the system.

  1. Install both versions of spyder via conda
  2. click on open file, or save file, or anything that opens up a file select dialogue

the file dialogue from spyder2 image

the file dialogue from spyder3 image

Versions and main components

Dependencies

Please go to the menu entry Help > Optional Dependencies (or Help > Dependencies), press the button Copy to clipboard and paste the contents below:

for spyder 3.0.2 jedi >=0.8.1 : 0.9.0 (OK) matplotlib >=1.0 : 1.5.3 (OK) nbconvert >=4.0 : 4.2.0 (OK) numpy >=1.7 : 1.11.2 (OK) pandas >=0.13.1 : 0.19.1 (OK) pep8 >=0.6 : 1.7.0 (OK) psutil >=0.3 : 5.0.0 (OK) pyflakes >=0.5.0 : 1.3.0 (OK) pygments >=2.0 : 2.1.3 (OK) pylint >=0.25 : 1.5.4 (OK) qtconsole >=4.2.0: 4.2.1 (OK) rope >=0.9.4 : 0.9.4 (OK) sphinx >=0.6.6 : 1.5 (OK) sympy >=0.7.3 : 1.0 (OK)

for spyder 2.3.9 IPython >=1.0 : 5.1.0 (OK) jedi >=0.8.1;<0.9.0: 0.9.0 (NOK) matplotlib >=1.0 : None (NOK) pandas >=0.13.1 : None (NOK) pep8 >=0.6 : 1.7.0 (OK) psutil >=0.3 : 5.0.0 (OK) pyflakes >=0.5.0 : 1.3.0 (OK) pygments >=1.6 : 2.1.3 (OK) pylint >=0.25 : 1.5.4 (OK) qtconsole >=4.0 : 4.2.1 (OK) rope >=0.9.2 : 0.9.4 (OK) sphinx >=0.6.6 : 1.5 (OK) sympy >=0.7.3 : None (NOK) zmq >=2.1.11 : 16.0.2 (OK)

ccordoba12 commented 7 years ago

What are your Qt and PyQt for Spyder 3.0.2?

grg2rsr commented 7 years ago

for spyder3

georg@georg-desktop:~$ conda list qt
# packages in environment at /home/georg/anaconda2:
#
pyqt                      5.6.0                    py27_0  
qt                        5.6.0                         1  
qtawesome                 0.3.3                    py27_0  
qtconsole                 4.2.1                    py27_1  
qtpy                      1.1.2                    py27_0  

and for the environment in which I installed of spyder2

(spydertest) georg@georg-desktop:~$ conda list qt
# packages in environment at /home/georg/anaconda2/envs/spydertest:
#
pyqt                      4.11.4                   py27_4  
qt                        4.8.7                         4  
qtconsole                 4.2.1                    py27_0
ccordoba12 commented 7 years ago

Could you verify what Qt theme you have selected in Spyder 3, by checking the setting in

Preferences > General > Qt windows style

? Thanks!

grg2rsr commented 7 years ago

"Fusion". I can also select "Windows", which looks a bit worse, but the selection dialogue layout is the same.

ccordoba12 commented 7 years ago

A theme called "Gtk" is not part of that list?

grg2rsr commented 7 years ago

No. see screenshot below

tmp

But: GTK+ is the only theme available in my spyder2

ccordoba12 commented 7 years ago

I think the Qt5 packages from Anaconda don't have support for the Gtk theme because it can't be compiled in CentOS 5 (its supported platform on Linux).

Stargrazer82301 commented 7 years ago

Does this mean that Spyder 3 will only ever have fewer & worse UI options that Spyder 2? Or is it expected to be remedied at the Anaconda end?

ccordoba12 commented 7 years ago

Qt needs to be compiled with Gtk support for this to happen, but the Gtk version that comes with CentOS 5 (the oldest version supported by Continuum) is too old for Qt 5.

@mingwandroid, any chance you can work on this in the near future?

mingwandroid commented 7 years ago

Why does it work in qt4 but not 5? Was qt4 just emulating GTK style or something?

From my current perspective, it doesn't seem to me like adding GTK to Anaconda for this is a good way to spend my time and we'd bloat out Qt applications considerably if they need GTK too, but I need more data to properly make that determination.

mingwandroid commented 7 years ago

I can perhaps see if lessening the GTK requirements works too. I'd likely have to disable some feature or other to be able to do so. Do you know if Qt5 can work with either/both gtk2 and/or 3?

ccordoba12 commented 7 years ago

Why does it work in qt4 but not 5?

Because I added the Gtk necessary headers to my virtual machine for Qt4 :-) This doesn't work for Qt5 because Qt5 requires Gtk 2.12 and CentOS 5 comes with Gtk 2.10.

Maybe you could add an RPM repo for CentOS 5 that comes with a more recent Gtk?

grg2rsr commented 7 years ago

I am still a bit surprised, or I am getting something wrong. Shouldn't this affect all non-CentOS linux users that installed qt5 via anaconda, on all Qt5 applications (and not just spyder)?

mingwandroid commented 7 years ago

All conda supplied Qt5 applications, yes, and all distros too, yes.

This is a consequence of stretching support at both ends, old OSes and new software.

I'm not sure what you are surprised about? That more people haven't complained or that we don't spend considerable effort to hack something up to attempt to 'fix' this or something else?

grg2rsr commented 7 years ago

@mingwandroid don't get me wrong here: not complaining at all about stuff not getting fixed. I am with all open source software very happy that people do it for free. What I meant is, that I am surprised about the fact that I couldn't see other people stating that they suffer from the same thing, and first I thought it's just spyder that is affected, which would easily explain it. But anaconda is widely spread, and so is Qt. Therefore I ask, because it could still be config related on my end ...

ccordoba12 commented 7 years ago

@grg2rsr, Anaconda will move to CentOS 6 at some point this year (I think), and then this problem will be fixed.

Sorry for the inconveniences until then.

ghost commented 7 years ago

This still persists and is somewhat sad :(

mingwandroid commented 7 years ago

I've detailed the reasons. Not much more we can do for now. Notably, the missing functionality doesn't break the software it just makes the file selector a bit less nice. A soon as we have better news we'll update you.