-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Displayed plots do not work with Mac OS Sierra or High Sierra #33
Comments
Displayed plots work fine under the previous Mac OS X version. Qt4 is old and unsupported; the latest is Qt5. But RHEL systems are still using Qt4. Hopefully modifying to use Qt5, if available (otherwise use Qt4), will resolve this issue. |
Have it running on Mac OS Sierra with Python 3.6 and PyQt5, but still showing similar behaviour. |
The problem occurs when PyFerret tries to launch a QApplication in a new process (Python multiprocess module). Testing the viewer, it works fine when the QApplication is run in the main process instead of a newly created process. So there is something Qt does not like about running under a multiprocess.Process in Sierra. |
I am very happy to report that with update a39de94 - and possibly updates to Homebrew packages, PyFerret can now display a plot window (test on High Sierra, hopefully on Sierra as well). The plot display is fully functional; however, the following error message is printed when this window is opened (and when some dialogs are opened):
Unfortunately, trying to open a second window, or closing and reopening a window, crashes the program with the error message:
So a little more useable, but this problem is not fixed. |
Just tried (latest) PyFerret again on the latest High Sierra version (system was upgraded from Sierra). Was able to open multiple windows, although there was an error message associated with opening each window. (Under Sierra prior to upgrade, PyFerret would crash opening even the first window.) |
Built and tested on my High Sierra iMac (latest release, Homebrew upgraded to latest). Has the saem behavior as before: first window prints an error message but otherwise works; second window prints error message and freezes the program (I have to background it and kill it). The previous success was a fluke. Not sure what is different about that system. |
Upgraded the conda build of PyFerret. Appears to work fine under RHEL6, RHEL7, Mac OS X El Capitan. Tested on my home High Sierra iMac and DOES work with multiple displayed windows. As seen previously, there is an error message is printed to the console when each window is displayed.
Note: after installing pyferret I did a |
A few days ago I installed the miniconda build on another Mac OS X High Sierra system and multiple windows do work as described in the previous comment. Today Ryo reported the same behavior using Homebrew libraries and the 4.7.2 pre-built package. Not sure of the status with Mac OS X Sierra, but still going to close this ticket as this is an issue with something in the OS X/Python/PyQt/Qt pipeline that appears finally be getting some time devoted to it (and thus, I do not need to come up with a replacement PyFerret "graphics engine"). |
I don't mean to write this as a bug report. It's just informational. Today I migrated to macOS Mojave. I then deleted the pyferret installed from the tar ball. The plan is to install PyFerret the conda way. I hadn't had conda installed on this machine of mine, and so did
Everything went smoothly; there was no error. When I invoked pyferret, I got this (again):
But I'm able to make some plots on this new pyferret. |
ryofurue, were you able to figure out why the NSXPCSharedListener error was popping up, and how to solve it? Having similar issues over here and would like a permanent fix for running PyQt either on High Sierra or Mojave |
I'm afraid not. Sorry that I haven't tried to fix it. I don't see the "Metal pipeline state" error any longer, but I see exactly the same "[NSXPCS . . . ]" error. The same error has popped up for other applications (including Skype and Octave) on Mojave, which suggests that Mojave broke something, which broke Qt. So, perhaps, unless Qt or PyQt is fixed, it may be hard to fix it on Pyferret's side. |
Multiprocessing package configured to start with the "spawn" method (available under *nix systems starting with Python 3.4) which appears to solve the Qt problems, even the warning messages. (Verified with High Sierra, and by a user using Catalina.) |
( Above change made in 0fd87ca ) |
* Support Qt5 And fix NSXPCSharedListener endpointForReply:withListenerName error on OS X according to NOAA-PMEL/PyFerret#33 * playlist length > 1000
Displayed plots for PyFerret under Mac OS X Sierra, either the Conda build or Homebrew build, does not work. The undisplayed plot (using command line option "-nodisplay") do work fine.
The text was updated successfully, but these errors were encountered: