caracal-pipeline / crystalball

Distributed prediction of visibilities from a sky model
GNU General Public License v2.0
2 stars 5 forks source link

cannot pip install crystalball 0.2.0 #24

Closed paoloserra closed 5 years ago

paoloserra commented 5 years ago

@SpheMakh @sjperkins I guess this was supposed to just work with the simple commands below?

$ virtualenv -p python3 crblvenv
$ source crblvenv/bin/activate
$ pip install /home/pserra/Astro/crystalball
...
  Building wheel for python-casacore (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/pserra/Astro/crblvenv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-qp1jkp3s/python-casacore/setup.py'"'"'; __file__='"'"'/tmp/pip-install-qp1jkp3s/python-casacore/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-ubq_v25s --python-tag cp35
       cwd: /tmp/pip-install-qp1jkp3s/python-casacore/
  Complete output (76 lines):
  /tmp/pip-install-qp1jkp3s/python-casacore/setup.py:107: UserWarning: Could not find Casacore!
sjperkins commented 5 years ago

python-casacore always builds from source:

https://github.com/ska-sa/dask-ms/issues/61

I guess every package that depends on it should mention the following dependencies:

paoloserra commented 5 years ago

Why was this not an issue before?

sjperkins commented 5 years ago

Maybe kernsuite was installed or the version of python-casacore installed by built was built from source once and then cached by pip?

paoloserra commented 5 years ago

Can it be related to the python2 to python3 change?

edeblok commented 5 years ago

I'm having the same issue. I think it specifically looks for version 3.0.0 only, meaning you need to have that casacore version installed? Previously i changed (hacked) the python-casacore version in codex-africanus/africanus/install/requirements.py to 3.1.1 to make it work with my installed casacore 3.1.1, but with the new install that now seems less trivial to do (and probably also not the right thing..)

paoloserra commented 5 years ago

Part of my problem might be that I'm still on Ubuntu 16.04. Some clear advice on how to solve this for Ubuntu 16.04 would be appreciated.

sjperkins commented 5 years ago

I'm having the same issue. I think it specifically looks for version 3.0.0 only, meaning you need to have that casacore version installed? Previously i changed (hacked) the python-casacore version in codex-africanus/africanus/install/requirements.py to 3.1.1 to make it work with my installed casacore 3.1.1, but with the new install that now seems less trivial to do (and probably also not the right thing..)

dask-ms pins python-casacore to 3.0.0.

3.1.1 supports binary wheels which promise to be more convenient, but there are still some issues with them:

so I guess the question is which issues should the user be presented with?

Part of my problem might be that I'm still on Ubuntu 16.04. Some clear advice on how to solve this for Ubuntu 16.04 would be appreciated.

Could be, but I think if the casacore/python-casacore dev libraries were installed i.e. run the sudo apt install libraries mentioned here:

it would work on both 16.04/18.04.

edeblok commented 5 years ago
* https://github.com/casacore/casacore#building-from-source

* https://github.com/casacore/python-casacore#from-source

The instructions in the second link above (the "apt-get" and "pip install" ones) made the install work for me - I had already installed the casacore required packages previously, but not the python-casacore ones. This did indeed correctly set up the casacore 3.0.0 version etc. on Ubuntu 18.04.

(apt-get complained about libcfitsio3-dev not existing and suggested libcfitsio-dev instead - this seemed to work fine).

paoloserra commented 5 years ago

In my case after doing

sudo apt-get install build-essential cmake gfortran g++ libncurses5-dev libreadline-dev flex bison libblas-dev liblapacke-dev libcfitsio-dev wcslib-dev
sudo apt-get install casacore-dev python-numpy python-setuptools libboost-python-dev libcfitsio3-dev wcslib-dev

I still get the same error when pip-installing crystalball

...
  ERROR: Command errored out with exit status 1:
   command: /home/pserra/Astro/crblvenv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-f647nzog/python-casacore/setup.py'"'"'; __file__='"'"'/tmp/pip-install-f647nzog/python-casacore/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-gn5y_g8l --python-tag cp35
       cwd: /tmp/pip-install-f647nzog/python-casacore/
  Complete output (76 lines):
  /tmp/pip-install-f647nzog/python-casacore/setup.py:107: UserWarning: Could not find Casacore!
...
edeblok commented 5 years ago

Did you also run

pip install --no-binary python-casacore python-casacore

(next instruction) after the apt-get? I needed to run that as well.

On Fri, 4 Oct 2019 at 17:11, paoloserra notifications@github.com wrote:

In my case after doing

sudo apt-get install build-essential cmake gfortran g++ libncurses5-dev libreadline-dev flex bison libblas-dev liblapacke-dev libcfitsio-dev wcslib-dev sudo apt-get install casacore-dev python-numpy python-setuptools libboost-python-dev libcfitsio3-dev wcslib-dev

I still get the same error when pip-installing crystalball

... ERROR: Command errored out with exit status 1: command: /home/pserra/Astro/crblvenv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-f647nzog/python-casacore/setup.py'"'"'; file='"'"'/tmp/pip-install-f647nzog/python-casacore/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-gn5y_g8l --python-tag cp35 cwd: /tmp/pip-install-f647nzog/python-casacore/ Complete output (76 lines): /tmp/pip-install-f647nzog/python-casacore/setup.py:107: UserWarning: Could not find Casacore! ...

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/paoloserra/crystalball/issues/24?email_source=notifications&email_token=AH5OSJ67Z47U6TM4TC3POCLQM5MKRA5CNFSM4I4J4I6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAL62QQ#issuecomment-538438978, or mute the thread https://github.com/notifications/unsubscribe-auth/AH5OSJ7AP36HPNLRYOGQTULQM5MKRANCNFSM4I4J4I6A .

paoloserra commented 5 years ago

yes, got this

$ pip install --no-binary python-casacore python-casacore
...
Requirement already satisfied: python-casacore in /usr/lib/python2.7/dist-packages (2.2.1)
...

Wondering whether Python2.7 is the issue...

edeblok commented 5 years ago

Possibly. My installation is all py3. It will also need python-casacore 3.0.0 which in my case got installed automatically as part of this.

On Fri, 4 Oct 2019 at 17:23, paoloserra notifications@github.com wrote:

yes, got this

$ pip install --no-binary python-casacore python-casacore ... Requirement already satisfied: python-casacore in /usr/lib/python2.7/dist-packages (2.2.1) ...

Wondering whether Python2.7 is the issue...

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/paoloserra/crystalball/issues/24?email_source=notifications&email_token=AH5OSJ67WGNTGHC2XP3M6RTQM5NYVA5CNFSM4I4J4I6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAMAEHQ#issuecomment-538444318, or mute the thread https://github.com/notifications/unsubscribe-auth/AH5OSJ2L7VTECSRZYYUVXBTQM5NYVANCNFSM4I4J4I6A .

sjperkins commented 5 years ago

Yes crystalball is now python 3 only.

Paolo I'm guessing you need kernsuite casacore installed too

On Fri, 4 Oct 2019, 17:27 edeblok, notifications@github.com wrote:

Possibly. My installation is all py3. It will also need python-casacore 3.0.0 which in my case got installed automatically as part of this.

On Fri, 4 Oct 2019 at 17:23, paoloserra notifications@github.com wrote:

yes, got this

$ pip install --no-binary python-casacore python-casacore ... Requirement already satisfied: python-casacore in /usr/lib/python2.7/dist-packages (2.2.1) ...

Wondering whether Python2.7 is the issue...

— You are receiving this because you commented. Reply to this email directly, view it on GitHub < https://github.com/paoloserra/crystalball/issues/24?email_source=notifications&email_token=AH5OSJ67WGNTGHC2XP3M6RTQM5NYVA5CNFSM4I4J4I6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAMAEHQ#issuecomment-538444318 , or mute the thread < https://github.com/notifications/unsubscribe-auth/AH5OSJ2L7VTECSRZYYUVXBTQM5NYVANCNFSM4I4J4I6A

.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/paoloserra/crystalball/issues/24?email_source=notifications&email_token=AA253ZB5ZO45T6CPCPB4OCLQM5OFRA5CNFSM4I4J4I6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAMAQHI#issuecomment-538445853, or mute the thread https://github.com/notifications/unsubscribe-auth/AA253ZEFGHSPNKWH3GXF7A3QM5OFRANCNFSM4I4J4I6A .

paoloserra commented 5 years ago

I was able to install crystalball 0.2.0. This took many attempts distributed over a few weeks, so I'm afraid I don't have clear instructions on how to do it at the moment. If I manage to reconstruct what I needed to do I will include the relevant info in the readme.