ioam / topographica

A general-purpose neural simulator focusing on topographic maps.
topographica.org
BSD 3-Clause "New" or "Revised" License
53 stars 32 forks source link

Cannot pip install topographica #582

Closed ceball closed 9 years ago

ceball commented 10 years ago

From #581, to summarize from the point of view of Topographica developers...

As far as I can see, the instructions at http://ioam.github.io/topographica/Downloads/index.html#quick-recipe-for-ubuntu-linux have been followed exactly. Here's my reading of what was done (in the latest attempt):

  • Created new Ubuntu 12.04 (?) virtual machine
  • sudo apt-get update
  • sudo apt-get install python-pip python-tk python-imaging-tk python-numpy
  • sudo apt-get install ipython python-gmpy python-matplotlib python-scipy
  • sudo pip install topographica

But the topographica that gets installed this way does not work :(

$ topographica
Traceback (most recent call last):
  File "/usr/local/bin/topographica", line 13, in <module>
    import topo
  File "/usr/local/lib/python2.7/dist-packages/topo/__init__.py", line 216, in <module>
    from topo.base.simulation import Simulation
  File "/usr/local/lib/python2.7/dist-packages/topo/base/__init__.py", line 18, in <module>
    from imagen import boundingregion,sheetcoords,patterngenerator # pyflakes:ignore (API import)
  File "/usr/local/lib/python2.7/dist-packages/imagen/__init__.py", line 798, in <module>
    class Translator(PatternGenerator):
  File "/usr/local/lib/python2.7/dist-packages/imagen/__init__.py", line 842, in Translator
    time_fn = param.Callable(default=numbergen.constanttime,doc="""
AttributeError: 'module' object has no attribute 'constanttime'

Is this my fault, ultimately, from releasing a new version of param? I should have resisted until I was actually using any of this stuff again! Oh well. I can't do anything about investigating this now (I can look some time in September!).

I'd like to think we're always releasing backwards compatible libraries, but maybe the released versions of topographica should have exact dependencies specified? After all, the official releases of topographica should be well-tested, officially supported collections of particular versions of ioam packages - right? The alternative is not to have releases, I guess, but to encourage everyone to use the latest git version. I can't quite tell, but maybe that's what you're encouraging already?

Anyway, if we don't at least update the installation instructions on the website, more people will get confused. The alternatives I see are (a) to fix the param pacakge (the problem is from numbergen, right?) or (b) maybe it's possible to edit the topographica package on pypi to specify exact versions of ioam dependencies: https://github.com/ioam/topographica/blob/master/platform/distutils/setup.py#L13

jlstevens commented 10 years ago

I suspect this is because numbergen has been moved to param in the recent PyPI package but because Imagen has not had a corresponding PyPI release, numbergen is there too!

It certainly looks like the result of moving numbergen to me which means we need to update our Imagen PyPI package.

youngjt commented 10 years ago

I think this will help you.

https://github.com/ioam/topographica/issues/581

jlstevens commented 10 years ago

Is this issue resolved?

jbednar commented 10 years ago

I don't think so -- I think we have to make a new release of imagen, too. :-(

ceball commented 9 years ago

I think the issues discussed above are fixed with new (minor!) pypi releases of imagen, topographica, and paramtk.

jbednar commented 9 years ago

Thanks, Chris!