On 2014-07-04, William Stein <wst...@gmail.com> wrote: > On Thu, Jul 3, 2014 at 6:40 PM, Volker Braun <vbraun.n...@gmail.com> wrote: >> On Thursday, July 3, 2014 3:31:18 PM UTC-4, William wrote: >>> >>> 1. Building in place saves disk space. It saves a *lot* of disk >>> space, >> >> >> $ du -sh src/build/lib.linux-x86_64-2.7 >> 344M src/build/lib.linux-x86_64-2.7 >> >> Here is a nickel, kid. Go and buy yourself some more disk space ;-) > > Thanks. I actually bought about 100TB of disk space last week (20TB > of SSD's).... coming soon to SageMathCloud. > >> >>> 2. Building in place reduces *confusion*. I can't tell you how >>> many times I've seen people loose work, get confused, etc., because >>> they type foo??, see the filename, edit that file (in >>> local/lib/python/site-packages!), only to find it gets overwritten >>> later. >> >> >> First of all, I'm confused about what "build in place" is supposed to mean. >> I thought its about getting rid of src/build/lib.ARCH, which should never >> have been under src/. But you still need to install files from src/sage/... >> to local/lib/python/site_packages. Anything else would be utterly confusing. > > I totally disagree. In fact, installing to > local/lib/python/site-packages is utterly confusing, at least when > doing development. I've seen these with my own eyes many, many times > in workshops, etc. > > Of course, you're not the only one to be confused by the distinction > between "python setup.py install" and "python setup.py develop". A > quick search finds: > > http://stackoverflow.com/questions/19048732/python-setup-py-develop-vs-install > >> Its perhaps an easy beginner mistake to edit files in the install tree >> instead of the source tree, but its also easily explained. However, once you >> start mixing up that clear boundary there is no way of communicating which >> file needs to be edited. > > You *remove* the boundary. Then there is no *need* to even > communicate which files need to be edited.
I never understood why Sage copies its source files rather than makes symbolic links. This would save the space in question, and would make editing files in "wrong" location having the same effect as editing them in the "right" place. There is one more advantage to building in a different place, although it's not exploited in Sage - the build directory does not need to be backupped. E.g. my department does not want people developing in directories which are automatically backupped, as they do not want to back up all that generated stuff... > > There is no spoon. > >> We don't just have python code, there are also >> scripts and ext code, not to mention third-party packages. And even if one >> could somehow communicate our design decisions, it would be a totally >> different convention from everybody else so we'd just be teaching bad >> practices to the community. > > "python setup.py develop" -- which is what we're talking about -- is > not bad practice. And it is actually standard practice. If anything, > we are currently teaching bad practice. > > This is a lot like the difference between "make" and "make install" > when developing C (and other) programs. With Sage right now, we're > only supporting "make install", so there are two copies of binaries, > etc. > >> Not to mention that it would bring us even >> further away from the goal of being packageable by distributions. > > I disagree. We can and should support this. > > William > >> >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "sage-devel" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to sage-devel+unsubscr...@googlegroups.com. >> To post to this group, send email to sage-devel@googlegroups.com. >> Visit this group at http://groups.google.com/group/sage-devel. >> For more options, visit https://groups.google.com/d/optout. > > > > -- > William Stein > Professor of Mathematics > University of Washington > http://wstein.org > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.