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

Fresh Ubuntu 12.04 Install errors #501

Closed pintohutch closed 11 years ago

pintohutch commented 11 years ago

Hi, so I attempted installing topographica on a fresh Ubuntu 12.04 Desktop install, following the website instructions and wasn't able to successfully install the package. Here was my progress in detail:

step 1, type: easy_install pip

response: The program 'easy_install' is currently not installed. You can install it by typing: sudo apt-get install python-setuptools

step 1a, type: sudo apt-get install python-setuptools

(successful)

step 2, type: pip install --user topographica

response: The program 'pip' is currently not installed. You can install it by typing: sudo apt-get install python-pip

step 2a, type: sudo apt-get install python-pip

(successful) * At this point both pip and python are in /usr/bin/, checked with which command

step 3, type: pip install --user topographica

response (this is kinda long and ugly):

Link to the response in a log file: http://dl.dropbox.com/u/5135327/pip-topo.log

So, essentially what would be the recommendation to go for form here? Should I install the python-dev, or python-devel package...? I just want to make sure I'm doing this right throughout the install process, and so the topographica developers know what the process looks like from an average fresh install of Ubuntu. Thanks.

wikkyk commented 11 years ago

Please upload the /home/parallels/.pip/pip.log file here. The appropriate package to install is python-dev. If the installation still fails, install subversion. If it still fails, try installing gfortran. It would be great if you could provide us with the log of each, successful or not, try.

pintohutch commented 11 years ago

How do I upload a file besides an image? Github's only letting me drag images to the box, not actual files

wikkyk commented 11 years ago

You can simply paste the contents of the file into the comment box.

pintohutch commented 11 years ago

Here's the link (same as above) to the pip.log file, I renamed it to "pip-topo.log"

http://dl.dropbox.com/u/5135327/pip-topo.log

pintohutch commented 11 years ago

So my following steps after are:

Step 3a, type: sudo apt-get install python-dev

(successful)

Step 3b, type: pip install --user topographica

(successful)

Step 4, type: pip install --user gmpy matplotlib scipy ipython

response (long and ugly): I have a link below to the pip.log file that was created after I attempted this. But the install of the dependencies failed.

http://dl.dropbox.com/u/5135327/pip.log

So I am not sure where to go form here. What else needs to happen? Eventually, when I get the package working, I'd like to compile a step-by-step instruction for how to install and run the package successfully from a fresh Ubuntu install for people who don't know how to setup a scientific python environment and who don't want to spend time debugging the dependencies issue through the install process.

Also, I don't get a path returned when I type 'which topographica'. So I was curious how do I launch it from the terminal?

pintohutch commented 11 years ago

I also just tried installing gfortran and subversion. The topographica dependencies are still not able to be installed. Any help?

jbednar commented 11 years ago

Sorry -- I haven't had a chance to try to reproduce this yet, nor apparently has Wiktor. I did download a 12.04 VM from http://www.trendsigma.net/vmware/ubuntu1204.html and will try it out, though. It sounds like it's a problem with numpy, if it's about gfortran, and you could thus try doing "apt-get install numpy scipy" just to get it going...

Jim

The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.

pintohutch commented 11 years ago

Ah ok, cool. I'm currently compiling a list of commands and installs that I've googled that have settled some of the dependency issues and will get that up shortly. Maybe you guys can make sense of what exactly enables/does what out of them. Aside from that, is there a recommended Linux distribution that is recommended for use when using topographica that makes the install process easier? Say fedora, debian, etc...? I am definitely willing to try those as well.

pintohutch commented 11 years ago

Ok, here's what I've done on Ubuntu to get Topographica and its GUI up and running from a fresh Ubuntu 12.04 install:

1) sudo apt-get update

2) use the built-in update manager to check for any available updates and downloads (then restart if need be)

3) sudo apt-get install python-setuptools (to acquire easy_install)

4) sudo apt-get install python-pip (to get pip)

5) sudo apt-get install python-dev (needed for pip to actually install topographica and its immediate dependencies)

6) sudo pip install topographica (install the package) 6a) so at this point, this is the error message commonly seen in the terminal as the GUI can't work without yet another package: http://dl.dropbox.com/u/5135327/topo1.txt

7) sudo apt-get install python-tk (as recommended by the response to step 6) 7a) at this point, here's the error message you'll probably see as the GUI still can't work without yet another package: http://dl.dropbox.com/u/5135327/topo2.txt

8) sudo apt-get install python-imaging-tk (after googling around I found this was the required package for ImageTk)

9) topographica -g (launch the GUI, should be successful), here's what will probably be shown in the terminal at that point (lists missing dependencies and packages, but will still work): http://dl.dropbox.com/u/5135327/topo3.txt

*10) Now, I wanted to try a simple example to get an idea of how the software could work (without worrying about other dependencies for now) by going to "Help > Examples", the browser (should) automatically open to topographica's examples directory, and I select "gcal.ty." Immediately, this message comes up, and is not very pretty: http://dl.dropbox.com/u/5135327/topo3a.txt

Some version of that message also pops up for all of the other example "*.ty" files. So at this point, though I've found all of the minimal dependencies needed from a fresh Ubuntu install for the topographica GUI to even launch, the examples won't work. So not sure how to go about fixing that.

To continue with the packages needed to resolve all the other dependencies topographica shows warnings about upon launching, use:

11) sudo apt-get install ipython (this is a handy interactive version of python that topographica likes)

12) sudo apt-get install python-matplotlib (at this point topographica should only be warning about gmpy.mpq and weave, as well as a note about inline optimized components)

13) sudo apt-get install libgmp3-dev build-essential (necessary to install gmpy)

14) sudo easy_install gmpy (topographica should only warn about weave and inline optimized components)

15) sudo apt-get install libatlas-base-dev gfortran (these are needed to install scipy, which contains the weave pkg)

16) sudo pip install scipy (this terminal response will be long and ugly but should successfully install the pkg)

17) At this point, you should be able to open ipython (type ipython) and import: matplotlib, scipy, numpy, gmpy

*18) topographica -g (launch the GUI again to see if there are any more warnings), this yields a new strange warning thing (though the GUI still launches) that can be seen here: http://dl.dropbox.com/u/5135327/topo4.txt

*19) and still the examples don't work for the same reason..

So at this point, that's what I've worked out. Get out some old kinks, and brought in some new ones, but there are still issues to resolve (*). I feel like it's very close to working for me.

jbednar commented 11 years ago

We mainly use Ubuntu 12.04, i.e., just what you've tried, and have never had the sort of problems you are having, so we must be doing something different than you are doing. But of course our main systems are very far from a fresh install, hence the VM to be tested tomorrow.

One of my students has had a project to set up fresh VM installs that are tested daily, on various Linuxes and Mac and Windows, and though he has demonstrated it in principle, it's not all actually running right now. Once it is (hopefully in the next few weeks), the plan is that we'll be able to point peoplt to these examples of fresh installs that Just Work. Meanwhile, we'll try to get you up and running manually!

Jim

The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.

pintohutch commented 11 years ago

Cool, ok thanks! Keep me posted

jbednar commented 11 years ago

Ok, I finally got a chance to look at the Ubuntu 12.04 VM, and I tried to install it following our instructions on a fresh install. I didn't look at the list you sent, just trying what seemed like the next obvious step, and went through almost exactly the same series of steps as you did. And I got stuck at the same spot, your step 10.

The problems before step 10 seem like things that are either missing dependencies of our dependencies, or dependencies that we are missing ourselves; either way we (i.e., Wiktor :-) need to study them to figure out what to do so that it goes more smoothly. Those particular cases hadn't come up for us, just because all our systems have those dependencies installed already.

Your step 10 is tricky; it's not a message I've seen before, but it seems to be coming from numpy. My guess is that the installation is using Numpy 1.7.0, which was released just three weeks ago, and appears to have made some incompatible changes. (Well, I know it did, from the Numpy mailing list, and I know they are working on 1.7.1 to fix some unintentional changes, but I don't know if this is a deliberate change or not.) We'll have to try out 1.7.0 ourselves and find out what the problems are.

I haven't tried your steps 11-17, but they seem reasonable (though I myself would install scipy via apt-get rather than pip). Your step 18 again makes it seem like this is a newer Numpy version than we have previously tested, since it's complaining about a deprecated API.

So, we need to figure out what's up with the latest numpy. Meanwhile, maybe you can try installing numpy 1.6.x, which is very well tested by all of us.

Sorry for all the confusion!

Jim

The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.

jbednar commented 11 years ago

Ok, it was the numpy version that was the culprit; using the previous 1.6.2 works fine. So here's a recipe that seemed to work ok for me on a bare Ubuntu 12.04 virtual machine:

sudo apt-get update
sudo apt-get install python-pip python-dev matplotlib python-matplotlib python-tk python-imaging-tk
pip install --user numpy==1.6.2
pip install --user topographica
.local/bin/topographica -g .local/share/topographica/examples/tiny.ty
.local/bin/topographica -c 'import topo.tests; topo.tests.run()'

All the tests pass, at least! This list is what seemed to work, but I haven't gone back with a new fresh VM and tried it from scratch, and unfortunately won't be able to do that until next week.

BTW, it's probably better to install numpy using apt-get rather than pip, because that way you won't have to compile it (and thus probably won't need python-dev) and you'll get better linear algebra libraries, but I haven't looked into how to specify a particular numpy version using apt-get.

We're looking at two solutions to the sort of problems you had: first, we'll set up virtual machines for various platforms that run every night and show the results of following a recipe like the above; that way we'll know when things are breaking like they are right now for Numpy 1.7.0, and users can also see the recipes so that they know what to do. We're also looking into making our pip install specifically check for the above packages so that users will get a better error message that 's more obviously guiding them to do the right thing for the missing dependencies that pip can't handle. Thanks for helping us debug this!

pintohutch commented 11 years ago

These commands gave me a flawless and functional Topographica:

1) sudo apt-get update 2) sudo apt-get install python-pip python-dev python-tk python-imaging-tk 3) sudo apt-get install ipython python-gmpy python-matplotlib python-scipy 4) sudo pip install topographica

Those commands are it, just verified. Somehow numpy gets installed in step 3. I verified this because I typed "pip freeze" which shows all python packages/versions installed on the computer, in this case it was numpy 1.6.1. You're right in numpy 1.7.* is currently unstable (and that's the one topographica installs by default if you don't install the other packages first). But this works from a fresh Ubuntu 12.04 install, Hooray!

wikkyk commented 11 years ago

On 7 March 2013 23:09, dclark87 notifications@github.com wrote:

2) sudo apt-get install ipython python-gmpy python-matplotlib python-scipy

Somehow numpy gets installed in step 2.

That's because it's a dependency of scipy.

pintohutch commented 11 years ago

Ah, gotchya. Well thanks for all of the help. I'm going to use this method from now on, until there's a significant release change for the package. Thanks again.

jbednar commented 11 years ago

Sounds great, thanks for such useful bug reports!

Jim