Closed rsignell-usgs closed 3 years ago
It seems that installing PyQt with pip
doesn't work together with Conda. I don't know if this is a temporary issue or permanent.
Anyway, try uninstalling PyQt with pip uninstall pyqt5
and then installing it via conda install pyqt
. This worked for the guy in issue #1.
Unfortunately conda does not yet have pyqt5
on conda-forge, but they are working on it:
https://github.com/conda-forge/staged-recipes/pull/2210#issuecomment-273059844
I just installed pyqt
with conda and that gave me version 5.6.something.
Like @rsignell-usgs mentioned above, outside of the conda-forge
realm, it should work. However, many rely on conda-forge
to build their envs and get more software than just argos
.
An alternative, until we fix Qt in conda-forge, is to use an environment.yml
with the dependencies from defaults
instead.
Ah, I was not aware that conda-forge replaces/overrides(?) the default conda package environment, sorry.
It does note replace or overrides. It dependents on how you use it. If conda-forge
is on top of defaults
in your .condarc
file (or environment.yml
) conda
will prefer conda-forge
packages. The same is true doe defaults
if you revert the order.
TL;DR
conda-forge
is note 100% compatible with defaults
because conda-forge
is almost always more up-to-date with the exception of Qt due to CI time constraints. So the channel order matters.
Alright, thanks for clearing this up.
I tried building on Windows using only the defaults
channel, but the version of pyqt
on Windows there is still at 4.11.4, so no go.
Here's what I did:
conda env create -f argos_environment.yml
with argos_environment.yml
:
name: ARGOS
channels:
- defaults
dependencies:
- python=3.5
- numpy
- pyqt
- h5py
- netcdf4
- pillow
- scipy
- pandas
- pip
- pip:
- pyqtgraph
- argos
And listing the pyqt version results:
C:\Users\rsignell\documents\github> activate ARGOS
(ARGOS) C:\Users\rsignell\documents\github>conda list pyqt
# packages in environment at C:\Users\rsignell\AppData\Local\Continuum\Miniconda
3\envs\ARGOS:
#
pyqt 4.11.4 py35_7 defaults
pyqtgraph 0.9.10 py35_1 defaults
Try leaving out pyqtgraph and installing that one via pip
@bilderbuchi , indeed leaving out pyqtgraph
(I updated the environment.yml above to remove pyqtgraph and install using pip), it allowed conda
to find a more recent version of pyqt
:
(ARGOS) C:\Users\rsignell\documents\github>conda list pyqt
# packages in environment at C:\Users\rsignell\AppData\Local\Continuum\Miniconda
3\envs\ARGOS:
#
pyqt 5.6.0 py35_1 defaults
pyqtgraph 0.10.0 <pip>
So progress!
Unfortunately, when I run python -m argos.main
, however, I get this:
Here's the full listing from my environment, in case anything obvious is wrong:
(ARGOS) C:\Users\rsignell\documents\github>conda list
# packages in environment at C:\Users\rsignell\AppData\Local\Continuum\Miniconda
3\envs\ARGOS:
#
argos 0.2.1 <pip>
bzip2 1.0.6 vc14_3 [vc14] defaults
curl 7.45.0 vc14_1 [vc14] defaults
freetype 2.5.5 vc14_1 [vc14] defaults
h5py 2.6.0 np111py35_2 defaults
hdf5 1.8.15.1 vc14_4 [vc14] defaults
icu 57.1 vc14_0 [vc14] defaults
jpeg 8d vc14_2 [vc14] defaults
libnetcdf 4.3.3.1 vc14_5 [vc14] defaults
libpng 1.6.27 vc14_0 [vc14] defaults
libtiff 4.0.6 vc14_2 [vc14] defaults
mkl 2017.0.1 0 defaults
netcdf4 1.2.4 np111py35_0 defaults
numpy 1.11.3 py35_0 defaults
openssl 1.0.2j vc14_0 [vc14] defaults
pandas 0.19.2 np111py35_1 defaults
pillow 3.4.2 py35_0 defaults
pip 9.0.1 py35_1 defaults
pyqt 5.6.0 py35_1 defaults
pyqtgraph 0.10.0 <pip>
python 3.5.2 0 defaults
python-dateutil 2.6.0 py35_0 defaults
pytz 2016.10 py35_0 defaults
qt 5.6.2 vc14_0 [vc14] defaults
scipy 0.18.1 np111py35_1 defaults
setuptools 27.2.0 py35_1 defaults
sip 4.18 py35_0 defaults
six 1.10.0 py35_0 defaults
vs2015_runtime 14.0.25123 0 defaults
wheel 0.29.0 py35_0 defaults
zlib 1.2.8 vc14_3 [vc14] defaults
The above argos_environment.yml
works great on Linux though. :stuck_out_tongue:
Is there any output on the console? Perhaps if you start Argos with debug messages. Can you try to start with python -m argos.main -l debug
please?
Okay, I tried it, but you aren't going to like it:
I looked in the code. Directly after main.py:82 Argos will try to import PyQt. So I think there is still an issue with your PyQt installation. Let's try to confirm this by bypassing Argos and just import PyQt from Python. Can you start python
and then type the following on the Python command prompt: from PyQt5 import QtCore, QtGui, QtWidgets
. I expect this gives the same error behaviour.
You are correct! It gives the same behaviour. I guess pyqt
from the defaults channel doesn't work;
(ARGOS) C:\Users\rsignell\documents\github>conda list qt
# packages in environment at C:\Users\rsignell\AppData\Local\Continuum\Miniconda3\envs\ARGOS:
#
pyqt 5.6.0 py35_1 defaults
qt 5.6.2 vc14_0 [vc14] defaults
I tried installing Argos on Windows using Conda thusly:
but running
returns
@ocefpaf tells me this is a known problem with the defaults channel at Continuum.