Closed bilderbuchi closed 7 years ago
It seems that there is a problem with your PyQt5 installation. Let's try to confirm this by bypassing Argos and importing PyQt5 directly from Python. Can you try the following command from the shell?
c:\> python -c "from PyQt5 import QtCore, QtGui, QtWidgets, QtSvg"
If you get the same error we are sure that PyQt5 is the culprit.
I noticed that you installed PyQt5 with pip, even though you have anaconda. You could perhaps uninstall from pip and then use conda install pyqt
to install PyQt again. I know PyQt 5.7 is not yet available on Anaconda, but 5.6 works fine with Argos.
Also, I would have expected that argos does not silently swallow the encountered exception, and would at least log something I can see to even know that something went wrong.
The Argos installer creates some platform-specific scripts or programs (e.g. the argos.exe) to abstract away some OS differences (see https://setuptools.readthedocs.io/en/latest/setuptools.html#automatic-script-creation). Unfortunately these scripts swallow the exceptions.
I ran into the same problem, that's why I wrote the trouble shooting section, which you've found. I agree with you that this is undesirable but I don't know how to configures the setup_tools
package to create scripts that don't swallow the exceptions. If anybody knows this, please tell me.
If you get the same error we are sure that PyQt5 is the culprit.
Yes, in the meantime I have confirmed that from PyQt5 import QTCore
is the minimum failing example.
use conda install pyqt
Ha, I overlooked that! I had some fears about pyqt4/5 coexistence problems (and need pyqt4 still for matplotlib and friends), so I made a separate environment. Didn't realize I could as well install pyqt that way. Interestingly, conda's pyqtgraph version is currently not new enough, and demands pyqt4 still, so I installed that via pip.
Anyway, it starts now, thank you! Now to wait until the rest of the scientific python ecosystem moves to pyqt5, so I don't need a separate environment. :D
Regarding your point about the exceptions, in your argos.main.main()
you could catch all exceptions (maybe except systemexit et al) and log them to stdout/err using logging.Logger.exception()
.
The problem is that argos.exe
fails before argos.main.main()
is even called.
Hi!
This looks very awesome! I just tried installing argos, and seemingly succeeded, but running
argos
just didn't show anything. I went deeper and found that apparently your main function fails due to some PyQt5 problem, but afaict I followed your instructions, and have no idea how to fix it.Console output (Windows 10 64bit, and Anaconda)
(The german bit says "the specified module could not be found")
Any ideas what's wrong here? Also, I would have expected that argos does not silently swallow the encountered exception, and would at least log something I can see to even know that something went wrong.