OpenSourceBrain / geppetto-osb

An OSB extension for Geppetto
http://www.opensourcebrain.org
3 stars 1 forks source link

Use Py3 #328

Open sanjayankur31 opened 4 years ago

sanjayankur31 commented 4 years ago

Will have to be looked into at some point.

Neuron works OK with Py3, so that should not be an issue. Other components need to be investigated.

sanjayankur31 commented 4 years ago

Was rebuilding the geppetto image and ran into this:

STEP 16: RUN pip install --upgrade pip && python -m pip install pynn netpyne pyneuroml
Collecting pip
  Downloading https://files.pythonhosted.org/packages/bd/b1/56a834acdbe23b486dea16aaf4c27ed28eb292695b90d01dff96c96597de/pip-20.2.1-py2.py3-none-any.whl (1.5MB)
    100% |################################| 1.5MB 795kB/s
Installing collected packages: pip
  Found existing installation: pip 8.1.1
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, outside environment /usr
Successfully installed pip-20.2.1
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Collecting pynn
  Downloading PyNN-0.9.5.tar.gz (3.2 MB)
     |################################| 3.2 MB 1.7 MB/s
Collecting netpyne
  Downloading netpyne-0.9.7-py2.py3-none-any.whl (291 kB)
     |################################| 291 kB 1.9 MB/s
Collecting pyneuroml
  Downloading pyNeuroML-0.5.5-py2-none-any.whl (27.9 MB)
     |################################| 27.9 MB 4.6 MB/s
Collecting numpy>=1.8.2
  Downloading numpy-1.16.6-cp27-cp27mu-manylinux1_x86_64.whl (17.0 MB)
     |################################| 17.0 MB 3.6 MB/s
Collecting lazyarray>=0.3.2
  Downloading lazyarray-0.3.3.tar.gz (20 kB)
Collecting neo>=0.5.2
  Downloading neo-0.8.0.tar.gz (2.1 MB)
     |################################| 2.1 MB 4.8 MB/s
Collecting quantities>=0.12.1
  Downloading quantities-0.12.4.tar.gz (83 kB)
     |################################| 83 kB 2.0 MB/s
Collecting pandas==0.23.4
  Downloading pandas-0.23.4-cp27-cp27mu-manylinux1_x86_64.whl (8.9 MB)
     |################################| 8.9 MB 4.6 MB/s
Collecting scipy
  Downloading scipy-1.2.3-cp27-cp27mu-manylinux1_x86_64.whl (24.8 MB)
     |################################| 24.8 MB 4.6 MB/s
ERROR: Could not find a version that satisfies the requirement bokeh==2.1.1 (from netpyne) (from versions: 0.2, 0.3, 0.4, 0.4.1, 0.4.4, 0.5.0, 0.5.1, 0.5.2, 0.6.0, 0.6.1, 0.7.0, 0.7.1, 0.8.0, 0.8.1, 0.8.2, 0.9.0, 0.9.1, 0.9.2, 0.9.3, 0.10.0, 0.11.0, 0.11.1, 0.12.0, 0.12.1, 0.12.2, 0.12.3, 0.12.4, 0.12.5, 0.12.6, 0.12.7, 0.12.9, 0.12.10, 0.12.11, 0.12.13, 0.12.14, 0.12.15, 0.12.16, 0.13.0, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.1.0, 1.2.0, 1.3.0, 1.3.1, 1.3.2, 1.3.4, 1.4.0)
ERROR: No matching distribution found for bokeh==2.1.1 (from netpyne)
Error: error building at STEP "RUN pip install --upgrade pip && python -m pip install pynn netpyne pyneuroml": error while running runtime: exit status 1

bokeh has dropped support for py2 now, so we'll also need to move to py3. I expect this issue will hit beta whenever geppetto is rebuilt next.

@pgleeson @zsinnema @filippomc : thoughts?

sanjayankur31 commented 4 years ago

Uh, this got a little more complicated. boken 2.1.1 requires python3.6, but the ubuntu xenial image we base the container on only has python3.5: https://packages.ubuntu.com/xenial/python3

Explicitly specifying bokeh gives this and lets the image build, but I'm not sure of what issues it'll cause:

netpyne 0.9.7 requires bokeh==2.1.1, but you'll have bokeh 1.4.0 which is incompatible.

If we're going to follow that latest versions of netpyne, we'll have to do some tinkering.

sanjayankur31 commented 4 years ago

https://github.com/SilverLabUCL/docker-osb/tree/to-py3 builds, functionality needs to be checked