![](https://secure.gravatar.com/avatar/b279d746f54e2cd6062e8279a767c4bc.jpg?s=120&d=mm&r=g)
Hi all, We need to figure out yt packaging. This is becoming increasingly hard, particularly as the number of dependencies grows. (The upgrade to IPython 1.0 and Matplotlib 1.3.0 has caused several issues, which spurred this discussion.) As it stands, we mainly provide yt through the install script. Every time a new version comes out, we check compatibility, we update the install script, and we deploy that. Unfortunately, as packages evolve externally to yt, this results in occasional breakages, new (implicit) dependencies, and complexity that goes super-exponentially. I like the install script, and it is what I use, but I think we need to re-strategize. It was built many years ago when packaging was a different landscape, and when we needed a way to get a relatively small number of dependencies onto a relatively small set of system types. Every day, it seems, brings another problem with the install script. Not all of these are our fault. But more importantly, I don't think we should be spending our time on them, when we can only bandaid something for so long before it's not workable. That being said, installation is the single biggest impediment to people using yt, so we need to ensure it is still easy and simple. There are a few options for other installation procedures. I would like to retain a stripped down version of the install script for ease and simplicity, but removing many of the optional installs and focusing instead on the core packages. So here are the options. I'd prefer we choose *one* as the primary method, and then we (potentially) demonstrate how to use the others. As a note, part of this process will also be the relicensing as BSD and shoring up our source-based installations, ensuring that they are correctly packaged, following best-practices guidelines for Python source. I believe I may have dropped the ball somewhat on that front. * Conda / Anaconda: This package manager is gaining traction, and I think that once relicensing is done we stand a good chance of being included in the base install. This would mean that someone could download Conda and just use it. Even without that inclusion, however, I've heard good things. Conda is based on binary distributions, but we could also manage our own packaging (potentially in an automated way) and update with some frequency. Conda is also somewhat tied to the Wakari platform, and being part of Conda would mean being available on the IPython-in-the-cloud that is Wakari. I believe this works well on supers. * Canopy: This is the Enthought package manager, which Sam has had some good experience with it. I do not have a feeling for how it works on supers. * Source-only: This is the way some packages are managed, but it is essentially giving up, and while I think it is a good way to go forward, I'm not sure we'll ever be trivially pip-installable. * Keep trying to plug holes as they come up in the install script. What I think would be very productive is to hear people's experiences with these package managers. Sam, Nathan, anybody? Focusing on a platform-specific manager (brew, macports, apt, rpm) is a non-starter; they are good options, and we should develop a protocol for supporting platform-specific packaging systems, but they bottleneck quite seriously on person-time and we should think carefully before we tie ourselves to one. -Matt PS The period in the subject line was editorial. I'd very much like to settle on a path for all of this stuff; packaging remains one of the hardest issues in scientific python, as Software Carpentry has noted time and again. We're now pushing the install script, which is great for clusters, but it's a remnant of a time before packaging in Python was as mature as it is now, and before we had as many corner cases as we do now -- not because they didn't exist, but because we didn't have enough users to see them.
![](https://secure.gravatar.com/avatar/223d8993c3d818a64ffb6e742a44b926.jpg?s=120&d=mm&r=g)
Hi Matt, I maintain yt 2.5 and yt 3.0 alpha builds on our cluster here at UChicago, and building from source is not difficult, once the short number of dependencies are satisfied. What is more difficult, however, is to keep up with the versions of those dependencies. Our builds currently use Matplotlib 1.2, and only recently upgraded to Cython 0.19. There is some risk to producing a broken build if the build system does not test for required (vs recommended) versions. A package system would be nice, provided it can be entirely self contained (so as to not conflict with other packages or package versions installed on the system). Douglas Rudd Scientific Computing Consultant Research Computing Center drudd@uchicago.edu On Aug 29, 2013, at 2:26 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi all,
We need to figure out yt packaging. This is becoming increasingly hard, particularly as the number of dependencies grows. (The upgrade to IPython 1.0 and Matplotlib 1.3.0 has caused several issues, which spurred this discussion.)
As it stands, we mainly provide yt through the install script. Every time a new version comes out, we check compatibility, we update the install script, and we deploy that. Unfortunately, as packages evolve externally to yt, this results in occasional breakages, new (implicit) dependencies, and complexity that goes super-exponentially. I like the install script, and it is what I use, but I think we need to re-strategize. It was built many years ago when packaging was a different landscape, and when we needed a way to get a relatively small number of dependencies onto a relatively small set of system types.
Every day, it seems, brings another problem with the install script. Not all of these are our fault. But more importantly, I don't think we should be spending our time on them, when we can only bandaid something for so long before it's not workable.
That being said, installation is the single biggest impediment to people using yt, so we need to ensure it is still easy and simple.
There are a few options for other installation procedures. I would like to retain a stripped down version of the install script for ease and simplicity, but removing many of the optional installs and focusing instead on the core packages.
So here are the options. I'd prefer we choose *one* as the primary method, and then we (potentially) demonstrate how to use the others. As a note, part of this process will also be the relicensing as BSD and shoring up our source-based installations, ensuring that they are correctly packaged, following best-practices guidelines for Python source. I believe I may have dropped the ball somewhat on that front.
* Conda / Anaconda: This package manager is gaining traction, and I think that once relicensing is done we stand a good chance of being included in the base install. This would mean that someone could download Conda and just use it. Even without that inclusion, however, I've heard good things. Conda is based on binary distributions, but we could also manage our own packaging (potentially in an automated way) and update with some frequency. Conda is also somewhat tied to the Wakari platform, and being part of Conda would mean being available on the IPython-in-the-cloud that is Wakari. I believe this works well on supers. * Canopy: This is the Enthought package manager, which Sam has had some good experience with it. I do not have a feeling for how it works on supers. * Source-only: This is the way some packages are managed, but it is essentially giving up, and while I think it is a good way to go forward, I'm not sure we'll ever be trivially pip-installable. * Keep trying to plug holes as they come up in the install script.
What I think would be very productive is to hear people's experiences with these package managers. Sam, Nathan, anybody?
Focusing on a platform-specific manager (brew, macports, apt, rpm) is a non-starter; they are good options, and we should develop a protocol for supporting platform-specific packaging systems, but they bottleneck quite seriously on person-time and we should think carefully before we tie ourselves to one.
-Matt
PS The period in the subject line was editorial. I'd very much like to settle on a path for all of this stuff; packaging remains one of the hardest issues in scientific python, as Software Carpentry has noted time and again. We're now pushing the install script, which is great for clusters, but it's a remnant of a time before packaging in Python was as mature as it is now, and before we had as many corner cases as we do now -- not because they didn't exist, but because we didn't have enough users to see them. _______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/7857f26c1ef2e9bdbfa843f9087710f7.jpg?s=120&d=mm&r=g)
I think both canopy and anaconda are good solutions that will create a useful python environment out of the box with a minimum of fuss on a wide variety of platforms. I have more experience with anaconda so my preference for our main installation avenue is there. A concern with canopy is the somewhat arbitrary choice of packages in the free (as in beer) and non-free distributions. Anaconda has a very liberal redistribution license ( http://docs.continuum.io/anaconda/eula.html). We could conceivably distribute it ourselves on yt-project.org. I know Matt is also looking into a miniconda (http://repo.continuum.io/miniconda/) based deployment, which should work well. I think we stand a good chance of being included with the standard anaconda distribution or via conda. Continuum has also set up binstar to allow projects to upload packaged versions of software which is then available via conda. One issue with binstar is that since we have C dependencies, we'll need buildbots to create packages for all supported OS/python combos (i.e. linux/2.7, OSX/2.7, linux/3.3 OSX/3.3). Making the install script more lightweight is a good idea, although we'll still be susceptible to external changes in our hard dependencies. Numpy and matplotlib have historically been tough to keep up with. On Thu, Aug 29, 2013 at 12:26 PM, Matthew Turk <matthewturk@gmail.com>wrote:
Hi all,
We need to figure out yt packaging. This is becoming increasingly hard, particularly as the number of dependencies grows. (The upgrade to IPython 1.0 and Matplotlib 1.3.0 has caused several issues, which spurred this discussion.)
As it stands, we mainly provide yt through the install script. Every time a new version comes out, we check compatibility, we update the install script, and we deploy that. Unfortunately, as packages evolve externally to yt, this results in occasional breakages, new (implicit) dependencies, and complexity that goes super-exponentially. I like the install script, and it is what I use, but I think we need to re-strategize. It was built many years ago when packaging was a different landscape, and when we needed a way to get a relatively small number of dependencies onto a relatively small set of system types.
Every day, it seems, brings another problem with the install script. Not all of these are our fault. But more importantly, I don't think we should be spending our time on them, when we can only bandaid something for so long before it's not workable.
That being said, installation is the single biggest impediment to people using yt, so we need to ensure it is still easy and simple.
There are a few options for other installation procedures. I would like to retain a stripped down version of the install script for ease and simplicity, but removing many of the optional installs and focusing instead on the core packages.
So here are the options. I'd prefer we choose *one* as the primary method, and then we (potentially) demonstrate how to use the others. As a note, part of this process will also be the relicensing as BSD and shoring up our source-based installations, ensuring that they are correctly packaged, following best-practices guidelines for Python source. I believe I may have dropped the ball somewhat on that front.
* Conda / Anaconda: This package manager is gaining traction, and I think that once relicensing is done we stand a good chance of being included in the base install. This would mean that someone could download Conda and just use it. Even without that inclusion, however, I've heard good things. Conda is based on binary distributions, but we could also manage our own packaging (potentially in an automated way) and update with some frequency. Conda is also somewhat tied to the Wakari platform, and being part of Conda would mean being available on the IPython-in-the-cloud that is Wakari. I believe this works well on supers. * Canopy: This is the Enthought package manager, which Sam has had some good experience with it. I do not have a feeling for how it works on supers. * Source-only: This is the way some packages are managed, but it is essentially giving up, and while I think it is a good way to go forward, I'm not sure we'll ever be trivially pip-installable. * Keep trying to plug holes as they come up in the install script.
What I think would be very productive is to hear people's experiences with these package managers. Sam, Nathan, anybody?
Focusing on a platform-specific manager (brew, macports, apt, rpm) is a non-starter; they are good options, and we should develop a protocol for supporting platform-specific packaging systems, but they bottleneck quite seriously on person-time and we should think carefully before we tie ourselves to one.
-Matt
PS The period in the subject line was editorial. I'd very much like to settle on a path for all of this stuff; packaging remains one of the hardest issues in scientific python, as Software Carpentry has noted time and again. We're now pushing the install script, which is great for clusters, but it's a remnant of a time before packaging in Python was as mature as it is now, and before we had as many corner cases as we do now -- not because they didn't exist, but because we didn't have enough users to see them. _______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/abbf30a6e2a3b5a2641e8c41f75c4e15.jpg?s=120&d=mm&r=g)
I think investigating these options is a great idea, especially if you think about it as allowing the install script to not have to be updated every single time numpy/matplotlib updates their version. We can let the install script stay more stable on the several month timescale and rely on other packaging to work out if people want up to the minute installs of some package. As for conda vs canopy, I think we should experiment with one first, and polish it off rather than attempting both at the same time. Since Nathan has more experience with conda than I do with canopy, I'd be +1 on going down the conda route first. Sam On Thu, Aug 29, 2013 at 12:50 PM, Nathan Goldbaum <nathan12343@gmail.com>wrote:
I think both canopy and anaconda are good solutions that will create a useful python environment out of the box with a minimum of fuss on a wide variety of platforms.
I have more experience with anaconda so my preference for our main installation avenue is there. A concern with canopy is the somewhat arbitrary choice of packages in the free (as in beer) and non-free distributions.
Anaconda has a very liberal redistribution license ( http://docs.continuum.io/anaconda/eula.html). We could conceivably distribute it ourselves on yt-project.org. I know Matt is also looking into a miniconda (http://repo.continuum.io/miniconda/) based deployment, which should work well. I think we stand a good chance of being included with the standard anaconda distribution or via conda.
Continuum has also set up binstar to allow projects to upload packaged versions of software which is then available via conda. One issue with binstar is that since we have C dependencies, we'll need buildbots to create packages for all supported OS/python combos (i.e. linux/2.7, OSX/2.7, linux/3.3 OSX/3.3).
Making the install script more lightweight is a good idea, although we'll still be susceptible to external changes in our hard dependencies. Numpy and matplotlib have historically been tough to keep up with.
On Thu, Aug 29, 2013 at 12:26 PM, Matthew Turk <matthewturk@gmail.com>wrote:
Hi all,
We need to figure out yt packaging. This is becoming increasingly hard, particularly as the number of dependencies grows. (The upgrade to IPython 1.0 and Matplotlib 1.3.0 has caused several issues, which spurred this discussion.)
As it stands, we mainly provide yt through the install script. Every time a new version comes out, we check compatibility, we update the install script, and we deploy that. Unfortunately, as packages evolve externally to yt, this results in occasional breakages, new (implicit) dependencies, and complexity that goes super-exponentially. I like the install script, and it is what I use, but I think we need to re-strategize. It was built many years ago when packaging was a different landscape, and when we needed a way to get a relatively small number of dependencies onto a relatively small set of system types.
Every day, it seems, brings another problem with the install script. Not all of these are our fault. But more importantly, I don't think we should be spending our time on them, when we can only bandaid something for so long before it's not workable.
That being said, installation is the single biggest impediment to people using yt, so we need to ensure it is still easy and simple.
There are a few options for other installation procedures. I would like to retain a stripped down version of the install script for ease and simplicity, but removing many of the optional installs and focusing instead on the core packages.
So here are the options. I'd prefer we choose *one* as the primary method, and then we (potentially) demonstrate how to use the others. As a note, part of this process will also be the relicensing as BSD and shoring up our source-based installations, ensuring that they are correctly packaged, following best-practices guidelines for Python source. I believe I may have dropped the ball somewhat on that front.
* Conda / Anaconda: This package manager is gaining traction, and I think that once relicensing is done we stand a good chance of being included in the base install. This would mean that someone could download Conda and just use it. Even without that inclusion, however, I've heard good things. Conda is based on binary distributions, but we could also manage our own packaging (potentially in an automated way) and update with some frequency. Conda is also somewhat tied to the Wakari platform, and being part of Conda would mean being available on the IPython-in-the-cloud that is Wakari. I believe this works well on supers. * Canopy: This is the Enthought package manager, which Sam has had some good experience with it. I do not have a feeling for how it works on supers. * Source-only: This is the way some packages are managed, but it is essentially giving up, and while I think it is a good way to go forward, I'm not sure we'll ever be trivially pip-installable. * Keep trying to plug holes as they come up in the install script.
What I think would be very productive is to hear people's experiences with these package managers. Sam, Nathan, anybody?
Focusing on a platform-specific manager (brew, macports, apt, rpm) is a non-starter; they are good options, and we should develop a protocol for supporting platform-specific packaging systems, but they bottleneck quite seriously on person-time and we should think carefully before we tie ourselves to one.
-Matt
PS The period in the subject line was editorial. I'd very much like to settle on a path for all of this stuff; packaging remains one of the hardest issues in scientific python, as Software Carpentry has noted time and again. We're now pushing the install script, which is great for clusters, but it's a remnant of a time before packaging in Python was as mature as it is now, and before we had as many corner cases as we do now -- not because they didn't exist, but because we didn't have enough users to see them. _______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/7737eeb298ccc09d2a3a8d6de209e38c.jpg?s=120&d=mm&r=g)
I like this plan too. Let's test out conda stuff and see how it all goes. I'm happy to assist in any way that I can. I'm glad that we're addressing this. It's pretty amazing how well the bash script has worked in the past, and I think it is a testament to how hard everyone has worked to keep it updated and patched (and Matt writing it in the first place!). So good work everyone, but I think moving to a more generic means like conda will pay off in the long run now. Cameron On Thu, Aug 29, 2013 at 1:22 PM, Sam Skillman <samskillman@gmail.com> wrote:
I think investigating these options is a great idea, especially if you think about it as allowing the install script to not have to be updated every single time numpy/matplotlib updates their version. We can let the install script stay more stable on the several month timescale and rely on other packaging to work out if people want up to the minute installs of some package.
As for conda vs canopy, I think we should experiment with one first, and polish it off rather than attempting both at the same time. Since Nathan has more experience with conda than I do with canopy, I'd be +1 on going down the conda route first.
Sam
On Thu, Aug 29, 2013 at 12:50 PM, Nathan Goldbaum <nathan12343@gmail.com>wrote:
I think both canopy and anaconda are good solutions that will create a useful python environment out of the box with a minimum of fuss on a wide variety of platforms.
I have more experience with anaconda so my preference for our main installation avenue is there. A concern with canopy is the somewhat arbitrary choice of packages in the free (as in beer) and non-free distributions.
Anaconda has a very liberal redistribution license ( http://docs.continuum.io/anaconda/eula.html). We could conceivably distribute it ourselves on yt-project.org. I know Matt is also looking into a miniconda (http://repo.continuum.io/miniconda/) based deployment, which should work well. I think we stand a good chance of being included with the standard anaconda distribution or via conda.
Continuum has also set up binstar to allow projects to upload packaged versions of software which is then available via conda. One issue with binstar is that since we have C dependencies, we'll need buildbots to create packages for all supported OS/python combos (i.e. linux/2.7, OSX/2.7, linux/3.3 OSX/3.3).
Making the install script more lightweight is a good idea, although we'll still be susceptible to external changes in our hard dependencies. Numpy and matplotlib have historically been tough to keep up with.
On Thu, Aug 29, 2013 at 12:26 PM, Matthew Turk <matthewturk@gmail.com>wrote:
Hi all,
We need to figure out yt packaging. This is becoming increasingly hard, particularly as the number of dependencies grows. (The upgrade to IPython 1.0 and Matplotlib 1.3.0 has caused several issues, which spurred this discussion.)
As it stands, we mainly provide yt through the install script. Every time a new version comes out, we check compatibility, we update the install script, and we deploy that. Unfortunately, as packages evolve externally to yt, this results in occasional breakages, new (implicit) dependencies, and complexity that goes super-exponentially. I like the install script, and it is what I use, but I think we need to re-strategize. It was built many years ago when packaging was a different landscape, and when we needed a way to get a relatively small number of dependencies onto a relatively small set of system types.
Every day, it seems, brings another problem with the install script. Not all of these are our fault. But more importantly, I don't think we should be spending our time on them, when we can only bandaid something for so long before it's not workable.
That being said, installation is the single biggest impediment to people using yt, so we need to ensure it is still easy and simple.
There are a few options for other installation procedures. I would like to retain a stripped down version of the install script for ease and simplicity, but removing many of the optional installs and focusing instead on the core packages.
So here are the options. I'd prefer we choose *one* as the primary method, and then we (potentially) demonstrate how to use the others. As a note, part of this process will also be the relicensing as BSD and shoring up our source-based installations, ensuring that they are correctly packaged, following best-practices guidelines for Python source. I believe I may have dropped the ball somewhat on that front.
* Conda / Anaconda: This package manager is gaining traction, and I think that once relicensing is done we stand a good chance of being included in the base install. This would mean that someone could download Conda and just use it. Even without that inclusion, however, I've heard good things. Conda is based on binary distributions, but we could also manage our own packaging (potentially in an automated way) and update with some frequency. Conda is also somewhat tied to the Wakari platform, and being part of Conda would mean being available on the IPython-in-the-cloud that is Wakari. I believe this works well on supers. * Canopy: This is the Enthought package manager, which Sam has had some good experience with it. I do not have a feeling for how it works on supers. * Source-only: This is the way some packages are managed, but it is essentially giving up, and while I think it is a good way to go forward, I'm not sure we'll ever be trivially pip-installable. * Keep trying to plug holes as they come up in the install script.
What I think would be very productive is to hear people's experiences with these package managers. Sam, Nathan, anybody?
Focusing on a platform-specific manager (brew, macports, apt, rpm) is a non-starter; they are good options, and we should develop a protocol for supporting platform-specific packaging systems, but they bottleneck quite seriously on person-time and we should think carefully before we tie ourselves to one.
-Matt
PS The period in the subject line was editorial. I'd very much like to settle on a path for all of this stuff; packaging remains one of the hardest issues in scientific python, as Software Carpentry has noted time and again. We're now pushing the install script, which is great for clusters, but it's a remnant of a time before packaging in Python was as mature as it is now, and before we had as many corner cases as we do now -- not because they didn't exist, but because we didn't have enough users to see them. _______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
-- Cameron Hummels Postdoctoral Researcher Steward Observatory University of Arizona http://chummels.org
![](https://secure.gravatar.com/avatar/840187ceea095b109116d969e49dce3b.jpg?s=120&d=mm&r=g)
Hi all, I have less of a skin in this than I used to, but I'd like to raise the issue of Windows & package managers. For example, Anaconda is available for Windows - would that mean that yt might "just work" on Windows? Or the opposite, and it would require a great deal of effort to get all the various things we expect to be .so's to work as .dll's (such as the Cython helpers or halo-finding stuff)? I don't know the answers to these questions, but I think it's worth thinking about. -- Stephen Skory s@skory.us http://stephenskory.com/ 510.621.3687 (google voice)
![](https://secure.gravatar.com/avatar/7857f26c1ef2e9bdbfa843f9087710f7.jpg?s=120&d=mm&r=g)
I think to get everything working in a sustainable fashion, we would need buildbots for all platform combinations that we want to support, so all permutations of the (32/64 bit, linux / OS X / windows, py27/py3.3) tuple. At the moment anaconda seems to support 32 and 64 bit linux, 64 bit OS X (not totally clear if OS X version matters), and 32 and 64 bit windows. Another option is to rely on conda build, which compiles everything from source. On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> wrote:
Hi all,
I have less of a skin in this than I used to, but I'd like to raise the issue of Windows & package managers. For example, Anaconda is available for Windows - would that mean that yt might "just work" on Windows? Or the opposite, and it would require a great deal of effort to get all the various things we expect to be .so's to work as .dll's (such as the Cython helpers or halo-finding stuff)?
I don't know the answers to these questions, but I think it's worth thinking about.
-- Stephen Skory s@skory.us http://stephenskory.com/ 510.621.3687 (google voice) _______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/b279d746f54e2cd6062e8279a767c4bc.jpg?s=120&d=mm&r=g)
Hi all, Thank you for the feedback -- I am glad there is some agreement about possible ways forward, and so I'm happy to try to use this as an opportunity to explore simpler, more reliable methods than the install script. This afternoon, I spent a bit of time with Conda, and I think it's quite nice. There are a few rough corners, particularly related to the binstar service, but it's so far pretty great. With Nathan's help, I was able to upload a yt-2.5.5 package for linux x86_64 and then install it. The workflow that seems to work: * Get miniconda: http://repo.continuum.io/miniconda/index.html * Run the installer for miniconda * Enter the conda environment and then install yt by doing "conda install yt -c http://conda.binstar.org/yt_project/ ". I think that this can likely all be stuck into a bash script. A simple, first pass at this is here: http://paste.yt-project.org/show/3833/ This right now only works on Linux x86_64, but getting it to work for other machines won't be too hard. I suspect we will be able to do nightlies very easily as well. If anyone out there has an x86_64 machine they wouldn't mind trying it on, that would be very helpful! I did find that once I ran this script, I had to actually prepend the PATH afterwards as well. This means doing: export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH export PATH=$HOME/yt-conda:$PATH source activate ytenv At that point, everything was set up and working for me. The miniconda install offers to add paths to .bashrc, but I don't think we should go down that route. That being said, this is also a possible point of friction. One nice thing is that this also completely works with the full anaconda; if someone wants everything that is in the anaconda install, they can even simply do "conda install anaconda" from the command line to get it. But the stripped down subset is the default. If anyone has a chance to try this out and has feedback, I'd greatly appreciate it! I think Nathan has done something very similar for OSX. I've also put a couple simple conda recipes here: https://bitbucket.org/yt_analysis/yt_conda which we can use as a basis for distributing builds and setting them up on buildbots and the like. I'm pretty optimistic about this. -Matt On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
I think to get everything working in a sustainable fashion, we would need buildbots for all platform combinations that we want to support, so all permutations of the (32/64 bit, linux / OS X / windows, py27/py3.3) tuple. At the moment anaconda seems to support 32 and 64 bit linux, 64 bit OS X (not totally clear if OS X version matters), and 32 and 64 bit windows.
Another option is to rely on conda build, which compiles everything from source.
On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> wrote:
Hi all,
I have less of a skin in this than I used to, but I'd like to raise the issue of Windows & package managers. For example, Anaconda is available for Windows - would that mean that yt might "just work" on Windows? Or the opposite, and it would require a great deal of effort to get all the various things we expect to be .so's to work as .dll's (such as the Cython helpers or halo-finding stuff)?
I don't know the answers to these questions, but I think it's worth thinking about.
-- Stephen Skory s@skory.us http://stephenskory.com/ 510.621.3687 (google voice) _______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/7857f26c1ef2e9bdbfa843f9087710f7.jpg?s=120&d=mm&r=g)
Yup, please try on OSX as well. If you make sure Matt's binstar is in your .condarc, you should be able to get yt by doing 'conda install yt'. I built the OSX binary on my laptop so I'd appreciate hearing about issues, particularly if there are issues on older OS X releases. On Thursday, August 29, 2013, Matthew Turk wrote:
Hi all,
Thank you for the feedback -- I am glad there is some agreement about possible ways forward, and so I'm happy to try to use this as an opportunity to explore simpler, more reliable methods than the install script.
This afternoon, I spent a bit of time with Conda, and I think it's quite nice. There are a few rough corners, particularly related to the binstar service, but it's so far pretty great. With Nathan's help, I was able to upload a yt-2.5.5 package for linux x86_64 and then install it.
The workflow that seems to work:
* Get miniconda: http://repo.continuum.io/miniconda/index.html * Run the installer for miniconda * Enter the conda environment and then install yt by doing "conda install yt -c http://conda.binstar.org/yt_project/ ".
I think that this can likely all be stuck into a bash script. A simple, first pass at this is here:
http://paste.yt-project.org/show/3833/
This right now only works on Linux x86_64, but getting it to work for other machines won't be too hard. I suspect we will be able to do nightlies very easily as well. If anyone out there has an x86_64 machine they wouldn't mind trying it on, that would be very helpful! I did find that once I ran this script, I had to actually prepend the PATH afterwards as well. This means doing:
export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH export PATH=$HOME/yt-conda:$PATH source activate ytenv
At that point, everything was set up and working for me. The miniconda install offers to add paths to .bashrc, but I don't think we should go down that route. That being said, this is also a possible point of friction.
One nice thing is that this also completely works with the full anaconda; if someone wants everything that is in the anaconda install, they can even simply do "conda install anaconda" from the command line to get it. But the stripped down subset is the default.
If anyone has a chance to try this out and has feedback, I'd greatly appreciate it! I think Nathan has done something very similar for OSX. I've also put a couple simple conda recipes here: https://bitbucket.org/yt_analysis/yt_conda which we can use as a basis for distributing builds and setting them up on buildbots and the like. I'm pretty optimistic about this.
-Matt
On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum <nathan12343@gmail.com<javascript:;>> wrote:
I think to get everything working in a sustainable fashion, we would need buildbots for all platform combinations that we want to support, so all permutations of the (32/64 bit, linux / OS X / windows, py27/py3.3) tuple. At the moment anaconda seems to support 32 and 64 bit linux, 64 bit OS X (not totally clear if OS X version matters), and 32 and 64 bit windows.
Another option is to rely on conda build, which compiles everything from source.
On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us<javascript:;>> wrote:
Hi all,
I have less of a skin in this than I used to, but I'd like to raise the issue of Windows & package managers. For example, Anaconda is available for Windows - would that mean that yt might "just work" on Windows? Or the opposite, and it would require a great deal of effort to get all the various things we expect to be .so's to work as .dll's (such as the Cython helpers or halo-finding stuff)?
I don't know the answers to these questions, but I think it's worth thinking about.
-- Stephen Skory s@skory.us <javascript:;> http://stephenskory.com/ 510.621.3687 (google voice) _______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org <javascript:;> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org <javascript:;> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org <javascript:;> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/a2b82ff31a3cb759850fbf32a06782fa.jpg?s=120&d=mm&r=g)
I just tried setting this up on OS X 10.7.5 and failed when attempting to create the conda environment due to a missing mercurial package: $ conda create -n ytenv -c http://conda.binstar.org/yt_project yt mercurial ipython tornado pyzmq pygments jinja2 sphinx Error: No packages found matching: mercurial On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum <nathan12343@gmail.com>wrote:
Yup, please try on OSX as well. If you make sure Matt's binstar is in your .condarc, you should be able to get yt by doing 'conda install yt'.
I built the OSX binary on my laptop so I'd appreciate hearing about issues, particularly if there are issues on older OS X releases.
On Thursday, August 29, 2013, Matthew Turk wrote:
Hi all,
Thank you for the feedback -- I am glad there is some agreement about possible ways forward, and so I'm happy to try to use this as an opportunity to explore simpler, more reliable methods than the install script.
This afternoon, I spent a bit of time with Conda, and I think it's quite nice. There are a few rough corners, particularly related to the binstar service, but it's so far pretty great. With Nathan's help, I was able to upload a yt-2.5.5 package for linux x86_64 and then install it.
The workflow that seems to work:
* Get miniconda: http://repo.continuum.io/miniconda/index.html * Run the installer for miniconda * Enter the conda environment and then install yt by doing "conda install yt -c http://conda.binstar.org/yt_project/ ".
I think that this can likely all be stuck into a bash script. A simple, first pass at this is here:
http://paste.yt-project.org/show/3833/
This right now only works on Linux x86_64, but getting it to work for other machines won't be too hard. I suspect we will be able to do nightlies very easily as well. If anyone out there has an x86_64 machine they wouldn't mind trying it on, that would be very helpful! I did find that once I ran this script, I had to actually prepend the PATH afterwards as well. This means doing:
export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH export PATH=$HOME/yt-conda:$PATH source activate ytenv
At that point, everything was set up and working for me. The miniconda install offers to add paths to .bashrc, but I don't think we should go down that route. That being said, this is also a possible point of friction.
One nice thing is that this also completely works with the full anaconda; if someone wants everything that is in the anaconda install, they can even simply do "conda install anaconda" from the command line to get it. But the stripped down subset is the default.
If anyone has a chance to try this out and has feedback, I'd greatly appreciate it! I think Nathan has done something very similar for OSX. I've also put a couple simple conda recipes here: https://bitbucket.org/yt_analysis/yt_conda which we can use as a basis for distributing builds and setting them up on buildbots and the like. I'm pretty optimistic about this.
-Matt
On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
I think to get everything working in a sustainable fashion, we would need buildbots for all platform combinations that we want to support, so all permutations of the (32/64 bit, linux / OS X / windows, py27/py3.3) tuple. At the moment anaconda seems to support 32 and 64 bit linux, 64 bit OS X (not totally clear if OS X version matters), and 32 and 64 bit windows.
Another option is to rely on conda build, which compiles everything from source.
On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> wrote:
Hi all,
I have less of a skin in this than I used to, but I'd like to raise the issue of Windows & package managers. For example, Anaconda is available for Windows - would that mean that yt might "just work" on Windows? Or the opposite, and it would require a great deal of effort to get all the various things we expect to be .so's to work as .dll's (such as the Cython helpers or halo-finding stuff)?
I don't know the answers to these questions, but I think it's worth thinking about.
-- Stephen Skory s@skory.us http://stephenskory.com/ 510.621.3687 (google voice) _______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/7857f26c1ef2e9bdbfa843f9087710f7.jpg?s=120&d=mm&r=g)
Hey Chris, I don't think mercurial is strictly necessary, can you try again without it? I think if Matt uploads a mercurial package for OS X this won't be an issue. I'll send him an updated tarball. I submitted a mercurial recipe to conda-recipes yesterday ( https://github.com/ContinuumIO/conda-recipes/pull/14) so hopefully a mercurial build will be included in future anaconda releases. On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone <chris.m.malone@gmail.com>wrote:
I just tried setting this up on OS X 10.7.5 and failed when attempting to create the conda environment due to a missing mercurial package:
$ conda create -n ytenv -c http://conda.binstar.org/yt_project yt mercurial ipython tornado pyzmq pygments jinja2 sphinx Error: No packages found matching: mercurial
On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum <nathan12343@gmail.com>wrote:
Yup, please try on OSX as well. If you make sure Matt's binstar is in your .condarc, you should be able to get yt by doing 'conda install yt'.
I built the OSX binary on my laptop so I'd appreciate hearing about issues, particularly if there are issues on older OS X releases.
On Thursday, August 29, 2013, Matthew Turk wrote:
Hi all,
Thank you for the feedback -- I am glad there is some agreement about possible ways forward, and so I'm happy to try to use this as an opportunity to explore simpler, more reliable methods than the install script.
This afternoon, I spent a bit of time with Conda, and I think it's quite nice. There are a few rough corners, particularly related to the binstar service, but it's so far pretty great. With Nathan's help, I was able to upload a yt-2.5.5 package for linux x86_64 and then install it.
The workflow that seems to work:
* Get miniconda: http://repo.continuum.io/miniconda/index.html * Run the installer for miniconda * Enter the conda environment and then install yt by doing "conda install yt -c http://conda.binstar.org/yt_project/ ".
I think that this can likely all be stuck into a bash script. A simple, first pass at this is here:
http://paste.yt-project.org/show/3833/
This right now only works on Linux x86_64, but getting it to work for other machines won't be too hard. I suspect we will be able to do nightlies very easily as well. If anyone out there has an x86_64 machine they wouldn't mind trying it on, that would be very helpful! I did find that once I ran this script, I had to actually prepend the PATH afterwards as well. This means doing:
export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH export PATH=$HOME/yt-conda:$PATH source activate ytenv
At that point, everything was set up and working for me. The miniconda install offers to add paths to .bashrc, but I don't think we should go down that route. That being said, this is also a possible point of friction.
One nice thing is that this also completely works with the full anaconda; if someone wants everything that is in the anaconda install, they can even simply do "conda install anaconda" from the command line to get it. But the stripped down subset is the default.
If anyone has a chance to try this out and has feedback, I'd greatly appreciate it! I think Nathan has done something very similar for OSX. I've also put a couple simple conda recipes here: https://bitbucket.org/yt_analysis/yt_conda which we can use as a basis for distributing builds and setting them up on buildbots and the like. I'm pretty optimistic about this.
-Matt
On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
I think to get everything working in a sustainable fashion, we would need buildbots for all platform combinations that we want to support, so all permutations of the (32/64 bit, linux / OS X / windows, py27/py3.3) tuple. At the moment anaconda seems to support 32 and 64 bit linux, 64 bit OS X (not totally clear if OS X version matters), and 32 and 64 bit windows.
Another option is to rely on conda build, which compiles everything from source.
On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> wrote:
Hi all,
I have less of a skin in this than I used to, but I'd like to raise the issue of Windows & package managers. For example, Anaconda is available for Windows - would that mean that yt might "just work" on Windows? Or the opposite, and it would require a great deal of effort to get all the various things we expect to be .so's to work as .dll's (such as the Cython helpers or halo-finding stuff)?
I don't know the answers to these questions, but I think it's worth thinking about.
-- Stephen Skory s@skory.us http://stephenskory.com/ 510.621.3687 (google voice) _______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/b279d746f54e2cd6062e8279a767c4bc.jpg?s=120&d=mm&r=g)
Yup, my fault. I've stuck the recipes here: https://bitbucket.org/yt_analysis/yt_conda until they all get sucked into the main conda-recipes repo, which is where I'd like to see them stay. One nice thing is that -- I think -- the "-c" option can be supplied multiple times, so in principle if Nathan were to upload, you could supply his as well. Once this gets going a bit more we can definitely work on this to make it more flexible and accessible. I am kind of liking conda in general though, and I particularly like that we could suggest miniconda and then have individuals interested in more packages do "conda install anaconda" to get basically everything else. We can also preserve the "source install" of yt, as well as the "yt update" functionality, if we provide both binary and source install methods, and the difference would be so small that they could be in the same script. One would do "conda install yt" and the other would clone the repo and do "setup.py develop" like we do now. On Fri, Aug 30, 2013 at 1:42 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Hey Chris,
I don't think mercurial is strictly necessary, can you try again without it? I think if Matt uploads a mercurial package for OS X this won't be an issue. I'll send him an updated tarball.
I submitted a mercurial recipe to conda-recipes yesterday (https://github.com/ContinuumIO/conda-recipes/pull/14) so hopefully a mercurial build will be included in future anaconda releases.
On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone <chris.m.malone@gmail.com> wrote:
I just tried setting this up on OS X 10.7.5 and failed when attempting to create the conda environment due to a missing mercurial package:
$ conda create -n ytenv -c http://conda.binstar.org/yt_project yt mercurial ipython tornado pyzmq pygments jinja2 sphinx Error: No packages found matching: mercurial
On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Yup, please try on OSX as well. If you make sure Matt's binstar is in your .condarc, you should be able to get yt by doing 'conda install yt'.
I built the OSX binary on my laptop so I'd appreciate hearing about issues, particularly if there are issues on older OS X releases.
On Thursday, August 29, 2013, Matthew Turk wrote:
Hi all,
Thank you for the feedback -- I am glad there is some agreement about possible ways forward, and so I'm happy to try to use this as an opportunity to explore simpler, more reliable methods than the install script.
This afternoon, I spent a bit of time with Conda, and I think it's quite nice. There are a few rough corners, particularly related to the binstar service, but it's so far pretty great. With Nathan's help, I was able to upload a yt-2.5.5 package for linux x86_64 and then install it.
The workflow that seems to work:
* Get miniconda: http://repo.continuum.io/miniconda/index.html * Run the installer for miniconda * Enter the conda environment and then install yt by doing "conda install yt -c http://conda.binstar.org/yt_project/ ".
I think that this can likely all be stuck into a bash script. A simple, first pass at this is here:
http://paste.yt-project.org/show/3833/
This right now only works on Linux x86_64, but getting it to work for other machines won't be too hard. I suspect we will be able to do nightlies very easily as well. If anyone out there has an x86_64 machine they wouldn't mind trying it on, that would be very helpful! I did find that once I ran this script, I had to actually prepend the PATH afterwards as well. This means doing:
export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH export PATH=$HOME/yt-conda:$PATH source activate ytenv
At that point, everything was set up and working for me. The miniconda install offers to add paths to .bashrc, but I don't think we should go down that route. That being said, this is also a possible point of friction.
One nice thing is that this also completely works with the full anaconda; if someone wants everything that is in the anaconda install, they can even simply do "conda install anaconda" from the command line to get it. But the stripped down subset is the default.
If anyone has a chance to try this out and has feedback, I'd greatly appreciate it! I think Nathan has done something very similar for OSX. I've also put a couple simple conda recipes here: https://bitbucket.org/yt_analysis/yt_conda which we can use as a basis for distributing builds and setting them up on buildbots and the like. I'm pretty optimistic about this.
-Matt
On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
I think to get everything working in a sustainable fashion, we would need buildbots for all platform combinations that we want to support, so all permutations of the (32/64 bit, linux / OS X / windows, py27/py3.3) tuple. At the moment anaconda seems to support 32 and 64 bit linux, 64 bit OS X (not totally clear if OS X version matters), and 32 and 64 bit windows.
Another option is to rely on conda build, which compiles everything from source.
On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> wrote:
Hi all,
I have less of a skin in this than I used to, but I'd like to raise the issue of Windows & package managers. For example, Anaconda is available for Windows - would that mean that yt might "just work" on Windows? Or the opposite, and it would require a great deal of effort to get all the various things we expect to be .so's to work as .dll's (such as the Cython helpers or halo-finding stuff)?
I don't know the answers to these questions, but I think it's worth thinking about.
-- Stephen Skory s@skory.us http://stephenskory.com/ 510.621.3687 (google voice) _______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/a2b82ff31a3cb759850fbf32a06782fa.jpg?s=120&d=mm&r=g)
Hi Nathan, That appears to work as it built the environment and `conda install ...` added packages to my environment. One mistake I made was that I originally downloaded the "latest" OS X build of Miniconda, but that happened to be Miniconda3, which is python 3 based. Trying to build the environment with that yields an error regarding incompatibility of yt and python3.3, as it should. Chris On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum <nathan12343@gmail.com>wrote:
Hey Chris,
I don't think mercurial is strictly necessary, can you try again without it? I think if Matt uploads a mercurial package for OS X this won't be an issue. I'll send him an updated tarball.
I submitted a mercurial recipe to conda-recipes yesterday ( https://github.com/ContinuumIO/conda-recipes/pull/14) so hopefully a mercurial build will be included in future anaconda releases.
On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone <chris.m.malone@gmail.com>wrote:
I just tried setting this up on OS X 10.7.5 and failed when attempting to create the conda environment due to a missing mercurial package:
$ conda create -n ytenv -c http://conda.binstar.org/yt_project yt mercurial ipython tornado pyzmq pygments jinja2 sphinx Error: No packages found matching: mercurial
On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum <nathan12343@gmail.com>wrote:
Yup, please try on OSX as well. If you make sure Matt's binstar is in your .condarc, you should be able to get yt by doing 'conda install yt'.
I built the OSX binary on my laptop so I'd appreciate hearing about issues, particularly if there are issues on older OS X releases.
On Thursday, August 29, 2013, Matthew Turk wrote:
Hi all,
Thank you for the feedback -- I am glad there is some agreement about possible ways forward, and so I'm happy to try to use this as an opportunity to explore simpler, more reliable methods than the install script.
This afternoon, I spent a bit of time with Conda, and I think it's quite nice. There are a few rough corners, particularly related to the binstar service, but it's so far pretty great. With Nathan's help, I was able to upload a yt-2.5.5 package for linux x86_64 and then install it.
The workflow that seems to work:
* Get miniconda: http://repo.continuum.io/miniconda/index.html * Run the installer for miniconda * Enter the conda environment and then install yt by doing "conda install yt -c http://conda.binstar.org/yt_project/ ".
I think that this can likely all be stuck into a bash script. A simple, first pass at this is here:
http://paste.yt-project.org/show/3833/
This right now only works on Linux x86_64, but getting it to work for other machines won't be too hard. I suspect we will be able to do nightlies very easily as well. If anyone out there has an x86_64 machine they wouldn't mind trying it on, that would be very helpful! I did find that once I ran this script, I had to actually prepend the PATH afterwards as well. This means doing:
export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH export PATH=$HOME/yt-conda:$PATH source activate ytenv
At that point, everything was set up and working for me. The miniconda install offers to add paths to .bashrc, but I don't think we should go down that route. That being said, this is also a possible point of friction.
One nice thing is that this also completely works with the full anaconda; if someone wants everything that is in the anaconda install, they can even simply do "conda install anaconda" from the command line to get it. But the stripped down subset is the default.
If anyone has a chance to try this out and has feedback, I'd greatly appreciate it! I think Nathan has done something very similar for OSX. I've also put a couple simple conda recipes here: https://bitbucket.org/yt_analysis/yt_conda which we can use as a basis for distributing builds and setting them up on buildbots and the like. I'm pretty optimistic about this.
-Matt
On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
I think to get everything working in a sustainable fashion, we would need buildbots for all platform combinations that we want to support, so all permutations of the (32/64 bit, linux / OS X / windows, py27/py3.3) tuple. At the moment anaconda seems to support 32 and 64 bit linux, 64 bit OS X (not totally clear if OS X version matters), and 32 and 64 bit windows.
Another option is to rely on conda build, which compiles everything from source.
On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> wrote:
Hi all,
I have less of a skin in this than I used to, but I'd like to raise the issue of Windows & package managers. For example, Anaconda is available for Windows - would that mean that yt might "just work" on Windows? Or the opposite, and it would require a great deal of effort to get all the various things we expect to be .so's to work as .dll's (such as the Cython helpers or halo-finding stuff)?
I don't know the answers to these questions, but I think it's worth thinking about.
-- Stephen Skory s@skory.us http://stephenskory.com/ 510.621.3687 (google voice) _______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/7857f26c1ef2e9bdbfa843f9087710f7.jpg?s=120&d=mm&r=g)
Everything should be available now for 64 bit linux and OS X. On Fri, Aug 30, 2013 at 10:52 AM, Chris Malone <chris.m.malone@gmail.com>wrote:
Hi Nathan,
That appears to work as it built the environment and `conda install ...` added packages to my environment.
One mistake I made was that I originally downloaded the "latest" OS X build of Miniconda, but that happened to be Miniconda3, which is python 3 based. Trying to build the environment with that yields an error regarding incompatibility of yt and python3.3, as it should.
Chris
On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum <nathan12343@gmail.com>wrote:
Hey Chris,
I don't think mercurial is strictly necessary, can you try again without it? I think if Matt uploads a mercurial package for OS X this won't be an issue. I'll send him an updated tarball.
I submitted a mercurial recipe to conda-recipes yesterday ( https://github.com/ContinuumIO/conda-recipes/pull/14) so hopefully a mercurial build will be included in future anaconda releases.
On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone <chris.m.malone@gmail.com>wrote:
I just tried setting this up on OS X 10.7.5 and failed when attempting to create the conda environment due to a missing mercurial package:
$ conda create -n ytenv -c http://conda.binstar.org/yt_project yt mercurial ipython tornado pyzmq pygments jinja2 sphinx Error: No packages found matching: mercurial
On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum <nathan12343@gmail.com>wrote:
Yup, please try on OSX as well. If you make sure Matt's binstar is in your .condarc, you should be able to get yt by doing 'conda install yt'.
I built the OSX binary on my laptop so I'd appreciate hearing about issues, particularly if there are issues on older OS X releases.
On Thursday, August 29, 2013, Matthew Turk wrote:
Hi all,
Thank you for the feedback -- I am glad there is some agreement about possible ways forward, and so I'm happy to try to use this as an opportunity to explore simpler, more reliable methods than the install script.
This afternoon, I spent a bit of time with Conda, and I think it's quite nice. There are a few rough corners, particularly related to the binstar service, but it's so far pretty great. With Nathan's help, I was able to upload a yt-2.5.5 package for linux x86_64 and then install it.
The workflow that seems to work:
* Get miniconda: http://repo.continuum.io/miniconda/index.html * Run the installer for miniconda * Enter the conda environment and then install yt by doing "conda install yt -c http://conda.binstar.org/yt_project/ ".
I think that this can likely all be stuck into a bash script. A simple, first pass at this is here:
http://paste.yt-project.org/show/3833/
This right now only works on Linux x86_64, but getting it to work for other machines won't be too hard. I suspect we will be able to do nightlies very easily as well. If anyone out there has an x86_64 machine they wouldn't mind trying it on, that would be very helpful! I did find that once I ran this script, I had to actually prepend the PATH afterwards as well. This means doing:
export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH export PATH=$HOME/yt-conda:$PATH source activate ytenv
At that point, everything was set up and working for me. The miniconda install offers to add paths to .bashrc, but I don't think we should go down that route. That being said, this is also a possible point of friction.
One nice thing is that this also completely works with the full anaconda; if someone wants everything that is in the anaconda install, they can even simply do "conda install anaconda" from the command line to get it. But the stripped down subset is the default.
If anyone has a chance to try this out and has feedback, I'd greatly appreciate it! I think Nathan has done something very similar for OSX. I've also put a couple simple conda recipes here: https://bitbucket.org/yt_analysis/yt_conda which we can use as a basis for distributing builds and setting them up on buildbots and the like. I'm pretty optimistic about this.
-Matt
On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum < nathan12343@gmail.com> wrote:
I think to get everything working in a sustainable fashion, we would need buildbots for all platform combinations that we want to support, so all permutations of the (32/64 bit, linux / OS X / windows, py27/py3.3) tuple. At the moment anaconda seems to support 32 and 64 bit linux, 64 bit OS X (not totally clear if OS X version matters), and 32 and 64 bit windows.
Another option is to rely on conda build, which compiles everything from source.
On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> wrote: > > Hi all, > > I have less of a skin in this than I used to, but I'd like to raise > the issue of Windows & package managers. For example, Anaconda is > available for Windows - would that mean that yt might "just work" on > Windows? Or the opposite, and it would require a great deal of effort > to get all the various things we expect to be .so's to work as .dll's > (such as the Cython helpers or halo-finding stuff)? > > I don't know the answers to these questions, but I think it's worth > thinking about. > > -- > Stephen Skory > s@skory.us > http://stephenskory.com/ > 510.621.3687 (google voice) > _______________________________________________ > yt-dev mailing list > yt-dev@lists.spacepope.org > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/c1ca883bfb6bc32bcd9a65c5ec9b0bf9.jpg?s=120&d=mm&r=g)
Hi everyone, Sorry for chiming in late. I just moved when this thread began and do not have regular internet access. I really like this idea of conda, especially as a package manager that only optionally makes its own edits to your .bashrc. I have always really liked that the install script creates a clean python stack with basically everything a python user needs. I have on occasion suggested it to people just looking to use numpy and matploblib. It looks like conda will continue to provide this nice by-product, so I'm all for it. I won't be in a position to help with testing and such for another week or so when I get regular internet access, but I would be glad to do so then. Britton On Fri, Aug 30, 2013 at 9:29 PM, Nathan Goldbaum <nathan12343@gmail.com>wrote:
Everything should be available now for 64 bit linux and OS X.
On Fri, Aug 30, 2013 at 10:52 AM, Chris Malone <chris.m.malone@gmail.com>wrote:
Hi Nathan,
That appears to work as it built the environment and `conda install ...` added packages to my environment.
One mistake I made was that I originally downloaded the "latest" OS X build of Miniconda, but that happened to be Miniconda3, which is python 3 based. Trying to build the environment with that yields an error regarding incompatibility of yt and python3.3, as it should.
Chris
On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum <nathan12343@gmail.com>wrote:
Hey Chris,
I don't think mercurial is strictly necessary, can you try again without it? I think if Matt uploads a mercurial package for OS X this won't be an issue. I'll send him an updated tarball.
I submitted a mercurial recipe to conda-recipes yesterday ( https://github.com/ContinuumIO/conda-recipes/pull/14) so hopefully a mercurial build will be included in future anaconda releases.
On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone <chris.m.malone@gmail.com
wrote:
I just tried setting this up on OS X 10.7.5 and failed when attempting to create the conda environment due to a missing mercurial package:
$ conda create -n ytenv -c http://conda.binstar.org/yt_project yt mercurial ipython tornado pyzmq pygments jinja2 sphinx Error: No packages found matching: mercurial
On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum <nathan12343@gmail.com
wrote:
Yup, please try on OSX as well. If you make sure Matt's binstar is in your .condarc, you should be able to get yt by doing 'conda install yt'.
I built the OSX binary on my laptop so I'd appreciate hearing about issues, particularly if there are issues on older OS X releases.
On Thursday, August 29, 2013, Matthew Turk wrote:
Hi all,
Thank you for the feedback -- I am glad there is some agreement about possible ways forward, and so I'm happy to try to use this as an opportunity to explore simpler, more reliable methods than the install script.
This afternoon, I spent a bit of time with Conda, and I think it's quite nice. There are a few rough corners, particularly related to the binstar service, but it's so far pretty great. With Nathan's help, I was able to upload a yt-2.5.5 package for linux x86_64 and then install it.
The workflow that seems to work:
* Get miniconda: http://repo.continuum.io/miniconda/index.html * Run the installer for miniconda * Enter the conda environment and then install yt by doing "conda install yt -c http://conda.binstar.org/yt_project/ ".
I think that this can likely all be stuck into a bash script. A simple, first pass at this is here:
http://paste.yt-project.org/show/3833/
This right now only works on Linux x86_64, but getting it to work for other machines won't be too hard. I suspect we will be able to do nightlies very easily as well. If anyone out there has an x86_64 machine they wouldn't mind trying it on, that would be very helpful! I did find that once I ran this script, I had to actually prepend the PATH afterwards as well. This means doing:
export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH export PATH=$HOME/yt-conda:$PATH source activate ytenv
At that point, everything was set up and working for me. The miniconda install offers to add paths to .bashrc, but I don't think we should go down that route. That being said, this is also a possible point of friction.
One nice thing is that this also completely works with the full anaconda; if someone wants everything that is in the anaconda install, they can even simply do "conda install anaconda" from the command line to get it. But the stripped down subset is the default.
If anyone has a chance to try this out and has feedback, I'd greatly appreciate it! I think Nathan has done something very similar for OSX. I've also put a couple simple conda recipes here: https://bitbucket.org/yt_analysis/yt_conda which we can use as a basis for distributing builds and setting them up on buildbots and the like. I'm pretty optimistic about this.
-Matt
On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum < nathan12343@gmail.com> wrote: > I think to get everything working in a sustainable fashion, we would need > buildbots for all platform combinations that we want to support, so all > permutations of the (32/64 bit, linux / OS X / windows, py27/py3.3) tuple. > At the moment anaconda seems to support 32 and 64 bit linux, 64 bit OS X > (not totally clear if OS X version matters), and 32 and 64 bit windows. > > Another option is to rely on conda build, which compiles everything from > source. > > > On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> wrote: >> >> Hi all, >> >> I have less of a skin in this than I used to, but I'd like to raise >> the issue of Windows & package managers. For example, Anaconda is >> available for Windows - would that mean that yt might "just work" on >> Windows? Or the opposite, and it would require a great deal of effort >> to get all the various things we expect to be .so's to work as .dll's >> (such as the Cython helpers or halo-finding stuff)? >> >> I don't know the answers to these questions, but I think it's worth >> thinking about. >> >> -- >> Stephen Skory >> s@skory.us >> http://stephenskory.com/ >> 510.621.3687 (google voice) >> _______________________________________________ >> yt-dev mailing list >> yt-dev@lists.spacepope.org >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > > > > _______________________________________________ > yt-dev mailing list > yt-dev@lists.spacepope.org > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > _______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/b279d746f54e2cd6062e8279a767c4bc.jpg?s=120&d=mm&r=g)
Hi all, Thanks to everybody who has reported back on testing. After some talking both offline and on IRC, as well as here, I think we would need to do the following things: * Make a single script that grabs the appropriate distribution of miniconda and installs it. Right now I have a mechanism for doing this, but it's currently tied to an architecture. * Create a mechanism for installing all the packages we need. Nearly all are available inside the Continuum repos. What we're hung up on is that source installs require a "recipe", and transmitting the recipe is where I don't have an idea of what to do. * Test this out lots of places * Clean up the edges in the (new) install script * Move the old install script to maintenance mode * Update all documentation to describe this and mothball other methods of installation What would be nice: * Make available nightly builds of yt on several architectures using binstar * Utilize more of the packages included in conda elsewhere in yt, now that we can! Here's my current recipe for get_yt.sh: http://paste.yt-project.org/show/3843/ (The config thing may get switched to include the --system argument, to modify the "yt-conda" condarc.) The step that I'm most stuck on is getting the yt recipe to people. If we want to make it possible and easy to build from source, we need to get the contents of a "conda recipe" to people. They can then run "conda build ." in the directory. Here are the recipes that we've been playing with: https://bitbucket.org/yt_analysis/yt_conda/src Basically, in get_yt.sh, to do from source instead of from binary we need to insert a step at the end that downloads the recipes somehow and then cd's into the right directory and builds them. The reason this is tricky is that we often need to bootstrap ourselves; we can't assume anything exists. We can download the .tar.bz2 of the current tip of the repo, but it includes the hash in the directory name that it extracts to. So I think what we need is a mechanism for getting the current state of the repo, figuring out the name of the repo's directory, moves into it, and then builds. I believe that all/most of this becomes much, much easier if hg gets included in Anaconda, which Nathan has submitted a PR for. So hopefully that will be taken care of, but until that time we can possibly figure something out. I'm not sure that we have the resources to continually support binary nightly builds in perpetuity for all the architectures that people run on, so having source would be awesome. Plus, one of the biggest appeals of how we distribute yt is that the source is included; I would very much not like to give this up. Thoughts? Has anyone else tested any of this out? -Matt On Tue, Sep 3, 2013 at 1:04 PM, Britton Smith <brittonsmith@gmail.com> wrote:
Hi everyone,
Sorry for chiming in late. I just moved when this thread began and do not have regular internet access.
I really like this idea of conda, especially as a package manager that only optionally makes its own edits to your .bashrc. I have always really liked that the install script creates a clean python stack with basically everything a python user needs. I have on occasion suggested it to people just looking to use numpy and matploblib. It looks like conda will continue to provide this nice by-product, so I'm all for it.
I won't be in a position to help with testing and such for another week or so when I get regular internet access, but I would be glad to do so then.
Britton
On Fri, Aug 30, 2013 at 9:29 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Everything should be available now for 64 bit linux and OS X.
On Fri, Aug 30, 2013 at 10:52 AM, Chris Malone <chris.m.malone@gmail.com> wrote:
Hi Nathan,
That appears to work as it built the environment and `conda install ...` added packages to my environment.
One mistake I made was that I originally downloaded the "latest" OS X build of Miniconda, but that happened to be Miniconda3, which is python 3 based. Trying to build the environment with that yields an error regarding incompatibility of yt and python3.3, as it should.
Chris
On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Hey Chris,
I don't think mercurial is strictly necessary, can you try again without it? I think if Matt uploads a mercurial package for OS X this won't be an issue. I'll send him an updated tarball.
I submitted a mercurial recipe to conda-recipes yesterday (https://github.com/ContinuumIO/conda-recipes/pull/14) so hopefully a mercurial build will be included in future anaconda releases.
On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone <chris.m.malone@gmail.com> wrote:
I just tried setting this up on OS X 10.7.5 and failed when attempting to create the conda environment due to a missing mercurial package:
$ conda create -n ytenv -c http://conda.binstar.org/yt_project yt mercurial ipython tornado pyzmq pygments jinja2 sphinx Error: No packages found matching: mercurial
On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Yup, please try on OSX as well. If you make sure Matt's binstar is in your .condarc, you should be able to get yt by doing 'conda install yt'.
I built the OSX binary on my laptop so I'd appreciate hearing about issues, particularly if there are issues on older OS X releases.
On Thursday, August 29, 2013, Matthew Turk wrote: > > Hi all, > > Thank you for the feedback -- I am glad there is some agreement about > possible ways forward, and so I'm happy to try to use this as an > opportunity to explore simpler, more reliable methods than the > install > script. > > This afternoon, I spent a bit of time with Conda, and I think it's > quite nice. There are a few rough corners, particularly related to > the binstar service, but it's so far pretty great. With Nathan's > help, I was able to upload a yt-2.5.5 package for linux x86_64 and > then install it. > > The workflow that seems to work: > > * Get miniconda: http://repo.continuum.io/miniconda/index.html > * Run the installer for miniconda > * Enter the conda environment and then install yt by doing "conda > install yt -c http://conda.binstar.org/yt_project/ ". > > I think that this can likely all be stuck into a bash script. A > simple, first pass at this is here: > > http://paste.yt-project.org/show/3833/ > > This right now only works on Linux x86_64, but getting it to work for > other machines won't be too hard. I suspect we will be able to do > nightlies very easily as well. If anyone out there has an x86_64 > machine they wouldn't mind trying it on, that would be very helpful! > I did find that once I ran this script, I had to actually prepend the > PATH afterwards as well. This means doing: > > export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH > export PATH=$HOME/yt-conda:$PATH > source activate ytenv > > At that point, everything was set up and working for me. The > miniconda install offers to add paths to .bashrc, but I don't think > we > should go down that route. That being said, this is also a possible > point of friction. > > One nice thing is that this also completely works with the full > anaconda; if someone wants everything that is in the anaconda > install, > they can even simply do "conda install anaconda" from the command > line > to get it. But the stripped down subset is the default. > > If anyone has a chance to try this out and has feedback, I'd greatly > appreciate it! I think Nathan has done something very similar for > OSX. I've also put a couple simple conda recipes here: > https://bitbucket.org/yt_analysis/yt_conda which we can use as a > basis > for distributing builds and setting them up on buildbots and the > like. > I'm pretty optimistic about this. > > -Matt > > On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum > <nathan12343@gmail.com> wrote: > > I think to get everything working in a sustainable fashion, we > > would need > > buildbots for all platform combinations that we want to support, so > > all > > permutations of the (32/64 bit, linux / OS X / windows, > > py27/py3.3) tuple. > > At the moment anaconda seems to support 32 and 64 bit linux, 64 bit > > OS X > > (not totally clear if OS X version matters), and 32 and 64 bit > > windows. > > > > Another option is to rely on conda build, which compiles everything > > from > > source. > > > > > > On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> wrote: > >> > >> Hi all, > >> > >> I have less of a skin in this than I used to, but I'd like to > >> raise > >> the issue of Windows & package managers. For example, Anaconda is > >> available for Windows - would that mean that yt might "just work" > >> on > >> Windows? Or the opposite, and it would require a great deal of > >> effort > >> to get all the various things we expect to be .so's to work as > >> .dll's > >> (such as the Cython helpers or halo-finding stuff)? > >> > >> I don't know the answers to these questions, but I think it's > >> worth > >> thinking about. > >> > >> -- > >> Stephen Skory > >> s@skory.us > >> http://stephenskory.com/ > >> 510.621.3687 (google voice) > >> _______________________________________________ > >> yt-dev mailing list > >> yt-dev@lists.spacepope.org > >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > > > > > > > > _______________________________________________ > > yt-dev mailing list > > yt-dev@lists.spacepope.org > > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > > > _______________________________________________ > yt-dev mailing list > yt-dev@lists.spacepope.org > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/519d491fa9fe7dfd0caf0f0a9c2ca61e.jpg?s=120&d=mm&r=g)
Works fine for me on OS X x86_64. On my Goddard-controlled Linux x86_64 server, everything worked fine except Mercurial, which I "conda install"-ed using the yt link, but the binary had an incompatibility which the glibc that was installed on the machine. Using pip to install Mercurial (which did it from source) was the workaround. On Sep 3, 2013, at 2:54 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi all,
Thanks to everybody who has reported back on testing. After some talking both offline and on IRC, as well as here, I think we would need to do the following things:
* Make a single script that grabs the appropriate distribution of miniconda and installs it. Right now I have a mechanism for doing this, but it's currently tied to an architecture. * Create a mechanism for installing all the packages we need. Nearly all are available inside the Continuum repos. What we're hung up on is that source installs require a "recipe", and transmitting the recipe is where I don't have an idea of what to do. * Test this out lots of places * Clean up the edges in the (new) install script * Move the old install script to maintenance mode * Update all documentation to describe this and mothball other methods of installation
What would be nice:
* Make available nightly builds of yt on several architectures using binstar * Utilize more of the packages included in conda elsewhere in yt, now that we can!
Here's my current recipe for get_yt.sh:
http://paste.yt-project.org/show/3843/
(The config thing may get switched to include the --system argument, to modify the "yt-conda" condarc.) The step that I'm most stuck on is getting the yt recipe to people. If we want to make it possible and easy to build from source, we need to get the contents of a "conda recipe" to people. They can then run "conda build ." in the directory. Here are the recipes that we've been playing with:
https://bitbucket.org/yt_analysis/yt_conda/src
Basically, in get_yt.sh, to do from source instead of from binary we need to insert a step at the end that downloads the recipes somehow and then cd's into the right directory and builds them. The reason this is tricky is that we often need to bootstrap ourselves; we can't assume anything exists. We can download the .tar.bz2 of the current tip of the repo, but it includes the hash in the directory name that it extracts to.
So I think what we need is a mechanism for getting the current state of the repo, figuring out the name of the repo's directory, moves into it, and then builds. I believe that all/most of this becomes much, much easier if hg gets included in Anaconda, which Nathan has submitted a PR for. So hopefully that will be taken care of, but until that time we can possibly figure something out. I'm not sure that we have the resources to continually support binary nightly builds in perpetuity for all the architectures that people run on, so having source would be awesome. Plus, one of the biggest appeals of how we distribute yt is that the source is included; I would very much not like to give this up.
Thoughts? Has anyone else tested any of this out?
-Matt
On Tue, Sep 3, 2013 at 1:04 PM, Britton Smith <brittonsmith@gmail.com> wrote:
Hi everyone,
Sorry for chiming in late. I just moved when this thread began and do not have regular internet access.
I really like this idea of conda, especially as a package manager that only optionally makes its own edits to your .bashrc. I have always really liked that the install script creates a clean python stack with basically everything a python user needs. I have on occasion suggested it to people just looking to use numpy and matploblib. It looks like conda will continue to provide this nice by-product, so I'm all for it.
I won't be in a position to help with testing and such for another week or so when I get regular internet access, but I would be glad to do so then.
Britton
On Fri, Aug 30, 2013 at 9:29 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Everything should be available now for 64 bit linux and OS X.
On Fri, Aug 30, 2013 at 10:52 AM, Chris Malone <chris.m.malone@gmail.com> wrote:
Hi Nathan,
That appears to work as it built the environment and `conda install ...` added packages to my environment.
One mistake I made was that I originally downloaded the "latest" OS X build of Miniconda, but that happened to be Miniconda3, which is python 3 based. Trying to build the environment with that yields an error regarding incompatibility of yt and python3.3, as it should.
Chris
On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Hey Chris,
I don't think mercurial is strictly necessary, can you try again without it? I think if Matt uploads a mercurial package for OS X this won't be an issue. I'll send him an updated tarball.
I submitted a mercurial recipe to conda-recipes yesterday (https://github.com/ContinuumIO/conda-recipes/pull/14) so hopefully a mercurial build will be included in future anaconda releases.
On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone <chris.m.malone@gmail.com> wrote:
I just tried setting this up on OS X 10.7.5 and failed when attempting to create the conda environment due to a missing mercurial package:
$ conda create -n ytenv -c http://conda.binstar.org/yt_project yt mercurial ipython tornado pyzmq pygments jinja2 sphinx Error: No packages found matching: mercurial
On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote: > > Yup, please try on OSX as well. If you make sure Matt's binstar is in > your .condarc, you should be able to get yt by doing 'conda install yt'. > > I built the OSX binary on my laptop so I'd appreciate hearing about > issues, particularly if there are issues on older OS X releases. > > On Thursday, August 29, 2013, Matthew Turk wrote: >> >> Hi all, >> >> Thank you for the feedback -- I am glad there is some agreement about >> possible ways forward, and so I'm happy to try to use this as an >> opportunity to explore simpler, more reliable methods than the >> install >> script. >> >> This afternoon, I spent a bit of time with Conda, and I think it's >> quite nice. There are a few rough corners, particularly related to >> the binstar service, but it's so far pretty great. With Nathan's >> help, I was able to upload a yt-2.5.5 package for linux x86_64 and >> then install it. >> >> The workflow that seems to work: >> >> * Get miniconda: http://repo.continuum.io/miniconda/index.html >> * Run the installer for miniconda >> * Enter the conda environment and then install yt by doing "conda >> install yt -c http://conda.binstar.org/yt_project/ ". >> >> I think that this can likely all be stuck into a bash script. A >> simple, first pass at this is here: >> >> http://paste.yt-project.org/show/3833/ >> >> This right now only works on Linux x86_64, but getting it to work for >> other machines won't be too hard. I suspect we will be able to do >> nightlies very easily as well. If anyone out there has an x86_64 >> machine they wouldn't mind trying it on, that would be very helpful! >> I did find that once I ran this script, I had to actually prepend the >> PATH afterwards as well. This means doing: >> >> export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH >> export PATH=$HOME/yt-conda:$PATH >> source activate ytenv >> >> At that point, everything was set up and working for me. The >> miniconda install offers to add paths to .bashrc, but I don't think >> we >> should go down that route. That being said, this is also a possible >> point of friction. >> >> One nice thing is that this also completely works with the full >> anaconda; if someone wants everything that is in the anaconda >> install, >> they can even simply do "conda install anaconda" from the command >> line >> to get it. But the stripped down subset is the default. >> >> If anyone has a chance to try this out and has feedback, I'd greatly >> appreciate it! I think Nathan has done something very similar for >> OSX. I've also put a couple simple conda recipes here: >> https://bitbucket.org/yt_analysis/yt_conda which we can use as a >> basis >> for distributing builds and setting them up on buildbots and the >> like. >> I'm pretty optimistic about this. >> >> -Matt >> >> On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum >> <nathan12343@gmail.com> wrote: >>> I think to get everything working in a sustainable fashion, we >>> would need >>> buildbots for all platform combinations that we want to support, so >>> all >>> permutations of the (32/64 bit, linux / OS X / windows, >>> py27/py3.3) tuple. >>> At the moment anaconda seems to support 32 and 64 bit linux, 64 bit >>> OS X >>> (not totally clear if OS X version matters), and 32 and 64 bit >>> windows. >>> >>> Another option is to rely on conda build, which compiles everything >>> from >>> source. >>> >>> >>> On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> wrote: >>>> >>>> Hi all, >>>> >>>> I have less of a skin in this than I used to, but I'd like to >>>> raise >>>> the issue of Windows & package managers. For example, Anaconda is >>>> available for Windows - would that mean that yt might "just work" >>>> on >>>> Windows? Or the opposite, and it would require a great deal of >>>> effort >>>> to get all the various things we expect to be .so's to work as >>>> .dll's >>>> (such as the Cython helpers or halo-finding stuff)? >>>> >>>> I don't know the answers to these questions, but I think it's >>>> worth >>>> thinking about. >>>> >>>> -- >>>> Stephen Skory >>>> s@skory.us >>>> http://stephenskory.com/ >>>> 510.621.3687 (google voice) >>>> _______________________________________________ >>>> yt-dev mailing list >>>> yt-dev@lists.spacepope.org >>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>> >>> >>> >>> _______________________________________________ >>> yt-dev mailing list >>> yt-dev@lists.spacepope.org >>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>> >> _______________________________________________ >> yt-dev mailing list >> yt-dev@lists.spacepope.org >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > > > _______________________________________________ > yt-dev mailing list > yt-dev@lists.spacepope.org > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/7857f26c1ef2e9bdbfa843f9087710f7.jpg?s=120&d=mm&r=g)
John, can you give a little more info on that error? I'm a little concerned that there are binary incompatibilities that conda can't resolve. Perhaps this is something we should report on the conda issue tracker. Matt, can't we get the recipes in the same way we get the latest dev install script? Something like: wget https://bitbucket.org/yt_analysis/yt_conda/raw/yt/meta.yaml This doesn't currently work, although it does work for the yt repo, I think because we use named branches in that repository. On Tue, Sep 3, 2013 at 12:00 PM, John ZuHone <jzuhone@gmail.com> wrote:
Works fine for me on OS X x86_64.
On my Goddard-controlled Linux x86_64 server, everything worked fine except Mercurial, which I "conda install"-ed using the yt link, but the binary had an incompatibility which the glibc that was installed on the machine. Using pip to install Mercurial (which did it from source) was the workaround.
On Sep 3, 2013, at 2:54 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi all,
Thanks to everybody who has reported back on testing. After some talking both offline and on IRC, as well as here, I think we would need to do the following things:
* Make a single script that grabs the appropriate distribution of miniconda and installs it. Right now I have a mechanism for doing this, but it's currently tied to an architecture. * Create a mechanism for installing all the packages we need. Nearly all are available inside the Continuum repos. What we're hung up on is that source installs require a "recipe", and transmitting the recipe is where I don't have an idea of what to do. * Test this out lots of places * Clean up the edges in the (new) install script * Move the old install script to maintenance mode * Update all documentation to describe this and mothball other methods of installation
What would be nice:
* Make available nightly builds of yt on several architectures using binstar * Utilize more of the packages included in conda elsewhere in yt, now that we can!
Here's my current recipe for get_yt.sh:
http://paste.yt-project.org/show/3843/
(The config thing may get switched to include the --system argument, to modify the "yt-conda" condarc.) The step that I'm most stuck on is getting the yt recipe to people. If we want to make it possible and easy to build from source, we need to get the contents of a "conda recipe" to people. They can then run "conda build ." in the directory. Here are the recipes that we've been playing with:
https://bitbucket.org/yt_analysis/yt_conda/src
Basically, in get_yt.sh, to do from source instead of from binary we need to insert a step at the end that downloads the recipes somehow and then cd's into the right directory and builds them. The reason this is tricky is that we often need to bootstrap ourselves; we can't assume anything exists. We can download the .tar.bz2 of the current tip of the repo, but it includes the hash in the directory name that it extracts to.
So I think what we need is a mechanism for getting the current state of the repo, figuring out the name of the repo's directory, moves into it, and then builds. I believe that all/most of this becomes much, much easier if hg gets included in Anaconda, which Nathan has submitted a PR for. So hopefully that will be taken care of, but until that time we can possibly figure something out. I'm not sure that we have the resources to continually support binary nightly builds in perpetuity for all the architectures that people run on, so having source would be awesome. Plus, one of the biggest appeals of how we distribute yt is that the source is included; I would very much not like to give this up.
Thoughts? Has anyone else tested any of this out?
-Matt
Hi everyone,
Sorry for chiming in late. I just moved when this thread began and do not have regular internet access.
I really like this idea of conda, especially as a package manager that only optionally makes its own edits to your .bashrc. I have always really
that the install script creates a clean python stack with basically everything a python user needs. I have on occasion suggested it to
just looking to use numpy and matploblib. It looks like conda will continue to provide this nice by-product, so I'm all for it.
I won't be in a position to help with testing and such for another week or so when I get regular internet access, but I would be glad to do so
On Tue, Sep 3, 2013 at 1:04 PM, Britton Smith <brittonsmith@gmail.com> wrote: liked people then.
Britton
On Fri, Aug 30, 2013 at 9:29 PM, Nathan Goldbaum <nathan12343@gmail.com
wrote:
Everything should be available now for 64 bit linux and OS X.
On Fri, Aug 30, 2013 at 10:52 AM, Chris Malone <
wrote:
Hi Nathan,
That appears to work as it built the environment and `conda install
...`
added packages to my environment.
One mistake I made was that I originally downloaded the "latest" OS X build of Miniconda, but that happened to be Miniconda3, which is
based. Trying to build the environment with that yields an error regarding incompatibility of yt and python3.3, as it should.
Chris
On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum < nathan12343@gmail.com> wrote:
Hey Chris,
I don't think mercurial is strictly necessary, can you try again
without
it? I think if Matt uploads a mercurial package for OS X this won't be an issue. I'll send him an updated tarball.
I submitted a mercurial recipe to conda-recipes yesterday (https://github.com/ContinuumIO/conda-recipes/pull/14) so hopefully a mercurial build will be included in future anaconda releases.
On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone <chris.m.malone@gmail.com> wrote: > > I just tried setting this up on OS X 10.7.5 and failed when attempting > to create the conda environment due to a missing mercurial package: > > $ conda create -n ytenv -c http://conda.binstar.org/yt_project yt > mercurial ipython tornado pyzmq pygments jinja2 sphinx > Error: No packages found matching: mercurial > > > On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum > <nathan12343@gmail.com> wrote: >> >> Yup, please try on OSX as well. If you make sure Matt's binstar is in >> your .condarc, you should be able to get yt by doing 'conda install yt'. >> >> I built the OSX binary on my laptop so I'd appreciate hearing about >> issues, particularly if there are issues on older OS X releases. >> >> On Thursday, August 29, 2013, Matthew Turk wrote: >>> >>> Hi all, >>> >>> Thank you for the feedback -- I am glad there is some agreement about >>> possible ways forward, and so I'm happy to try to use this as an >>> opportunity to explore simpler, more reliable methods than the >>> install >>> script. >>> >>> This afternoon, I spent a bit of time with Conda, and I think it's >>> quite nice. There are a few rough corners, particularly related to >>> the binstar service, but it's so far pretty great. With Nathan's >>> help, I was able to upload a yt-2.5.5 package for linux x86_64 and >>> then install it. >>> >>> The workflow that seems to work: >>> >>> * Get miniconda: http://repo.continuum.io/miniconda/index.html >>> * Run the installer for miniconda >>> * Enter the conda environment and then install yt by doing "conda >>> install yt -c http://conda.binstar.org/yt_project/ ". >>> >>> I think that this can likely all be stuck into a bash script. A >>> simple, first pass at this is here: >>> >>> http://paste.yt-project.org/show/3833/ >>> >>> This right now only works on Linux x86_64, but getting it to work for >>> other machines won't be too hard. I suspect we will be able to do >>> nightlies very easily as well. If anyone out there has an x86_64 >>> machine they wouldn't mind trying it on, that would be very helpful! >>> I did find that once I ran this script, I had to actually prepend
>>> PATH afterwards as well. This means doing: >>> >>> export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH >>> export PATH=$HOME/yt-conda:$PATH >>> source activate ytenv >>> >>> At that point, everything was set up and working for me. The >>> miniconda install offers to add paths to .bashrc, but I don't
>>> we >>> should go down that route. That being said, this is also a
chris.m.malone@gmail.com> python 3 the think possible
>>> point of friction. >>> >>> One nice thing is that this also completely works with the full >>> anaconda; if someone wants everything that is in the anaconda >>> install, >>> they can even simply do "conda install anaconda" from the command >>> line >>> to get it. But the stripped down subset is the default. >>> >>> If anyone has a chance to try this out and has feedback, I'd greatly >>> appreciate it! I think Nathan has done something very similar for >>> OSX. I've also put a couple simple conda recipes here: >>> https://bitbucket.org/yt_analysis/yt_conda which we can use as a >>> basis >>> for distributing builds and setting them up on buildbots and the >>> like. >>> I'm pretty optimistic about this. >>> >>> -Matt >>> >>> On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum >>> <nathan12343@gmail.com> wrote: >>>> I think to get everything working in a sustainable fashion, we >>>> would need >>>> buildbots for all platform combinations that we want to support, so >>>> all >>>> permutations of the (32/64 bit, linux / OS X / windows, >>>> py27/py3.3) tuple. >>>> At the moment anaconda seems to support 32 and 64 bit linux, 64 bit >>>> OS X >>>> (not totally clear if OS X version matters), and 32 and 64 bit >>>> windows. >>>> >>>> Another option is to rely on conda build, which compiles everything >>>> from >>>> source. >>>> >>>> >>>> On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> wrote: >>>>> >>>>> Hi all, >>>>> >>>>> I have less of a skin in this than I used to, but I'd like to >>>>> raise >>>>> the issue of Windows & package managers. For example, Anaconda is >>>>> available for Windows - would that mean that yt might "just work" >>>>> on >>>>> Windows? Or the opposite, and it would require a great deal of >>>>> effort >>>>> to get all the various things we expect to be .so's to work as >>>>> .dll's >>>>> (such as the Cython helpers or halo-finding stuff)? >>>>> >>>>> I don't know the answers to these questions, but I think it's >>>>> worth >>>>> thinking about. >>>>> >>>>> -- >>>>> Stephen Skory >>>>> s@skory.us >>>>> http://stephenskory.com/ >>>>> 510.621.3687 (google voice) >>>>> _______________________________________________ >>>>> yt-dev mailing list >>>>> yt-dev@lists.spacepope.org >>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>> >>>> >>>> >>>> _______________________________________________ >>>> yt-dev mailing list >>>> yt-dev@lists.spacepope.org >>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>> >>> _______________________________________________ >>> yt-dev mailing list >>> yt-dev@lists.spacepope.org >>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >> >> >> _______________________________________________ >> yt-dev mailing list >> yt-dev@lists.spacepope.org >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >> > > > _______________________________________________ > yt-dev mailing list > yt-dev@lists.spacepope.org > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/b279d746f54e2cd6062e8279a767c4bc.jpg?s=120&d=mm&r=g)
Hi Nathan, On Tue, Sep 3, 2013 at 3:10 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
John, can you give a little more info on that error? I'm a little concerned that there are binary incompatibilities that conda can't resolve. Perhaps this is something we should report on the conda issue tracker.
Matt, can't we get the recipes in the same way we get the latest dev install script? Something like:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/yt/meta.yaml
This doesn't currently work, although it does work for the yt repo, I think because we use named branches in that repository.
Yup -- you can do it like this: wget https://bitbucket.org/yt_analysis/yt_conda/raw/default/yt/meta.yaml ...although for me right now it's failing from a bad BB certificate. The only problem with "pip install" is that it no longer lists pip installations inside the "conda list" or "conda update" outputs. This has been discussed recently on the mailing list for Anaconda: https://groups.google.com/a/continuum.io/forum/?fromgroups#!topic/anaconda/w... ...but there has not yet been a resolution. -Matt
On Tue, Sep 3, 2013 at 12:00 PM, John ZuHone <jzuhone@gmail.com> wrote:
Works fine for me on OS X x86_64.
On my Goddard-controlled Linux x86_64 server, everything worked fine except Mercurial, which I "conda install"-ed using the yt link, but the binary had an incompatibility which the glibc that was installed on the machine. Using pip to install Mercurial (which did it from source) was the workaround.
On Sep 3, 2013, at 2:54 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi all,
Thanks to everybody who has reported back on testing. After some talking both offline and on IRC, as well as here, I think we would need to do the following things:
* Make a single script that grabs the appropriate distribution of miniconda and installs it. Right now I have a mechanism for doing this, but it's currently tied to an architecture. * Create a mechanism for installing all the packages we need. Nearly all are available inside the Continuum repos. What we're hung up on is that source installs require a "recipe", and transmitting the recipe is where I don't have an idea of what to do. * Test this out lots of places * Clean up the edges in the (new) install script * Move the old install script to maintenance mode * Update all documentation to describe this and mothball other methods of installation
What would be nice:
* Make available nightly builds of yt on several architectures using binstar * Utilize more of the packages included in conda elsewhere in yt, now that we can!
Here's my current recipe for get_yt.sh:
http://paste.yt-project.org/show/3843/
(The config thing may get switched to include the --system argument, to modify the "yt-conda" condarc.) The step that I'm most stuck on is getting the yt recipe to people. If we want to make it possible and easy to build from source, we need to get the contents of a "conda recipe" to people. They can then run "conda build ." in the directory. Here are the recipes that we've been playing with:
https://bitbucket.org/yt_analysis/yt_conda/src
Basically, in get_yt.sh, to do from source instead of from binary we need to insert a step at the end that downloads the recipes somehow and then cd's into the right directory and builds them. The reason this is tricky is that we often need to bootstrap ourselves; we can't assume anything exists. We can download the .tar.bz2 of the current tip of the repo, but it includes the hash in the directory name that it extracts to.
So I think what we need is a mechanism for getting the current state of the repo, figuring out the name of the repo's directory, moves into it, and then builds. I believe that all/most of this becomes much, much easier if hg gets included in Anaconda, which Nathan has submitted a PR for. So hopefully that will be taken care of, but until that time we can possibly figure something out. I'm not sure that we have the resources to continually support binary nightly builds in perpetuity for all the architectures that people run on, so having source would be awesome. Plus, one of the biggest appeals of how we distribute yt is that the source is included; I would very much not like to give this up.
Thoughts? Has anyone else tested any of this out?
-Matt
On Tue, Sep 3, 2013 at 1:04 PM, Britton Smith <brittonsmith@gmail.com> wrote:
Hi everyone,
Sorry for chiming in late. I just moved when this thread began and do not have regular internet access.
I really like this idea of conda, especially as a package manager that only optionally makes its own edits to your .bashrc. I have always really liked that the install script creates a clean python stack with basically everything a python user needs. I have on occasion suggested it to people just looking to use numpy and matploblib. It looks like conda will continue to provide this nice by-product, so I'm all for it.
I won't be in a position to help with testing and such for another week or so when I get regular internet access, but I would be glad to do so then.
Britton
On Fri, Aug 30, 2013 at 9:29 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Everything should be available now for 64 bit linux and OS X.
On Fri, Aug 30, 2013 at 10:52 AM, Chris Malone <chris.m.malone@gmail.com> wrote:
Hi Nathan,
That appears to work as it built the environment and `conda install ...` added packages to my environment.
One mistake I made was that I originally downloaded the "latest" OS X build of Miniconda, but that happened to be Miniconda3, which is python 3 based. Trying to build the environment with that yields an error regarding incompatibility of yt and python3.3, as it should.
Chris
On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum <nathan12343@gmail.com> wrote: > > Hey Chris, > > I don't think mercurial is strictly necessary, can you try again > without > it? I think if Matt uploads a mercurial package for OS X this won't > be an > issue. I'll send him an updated tarball. > > I submitted a mercurial recipe to conda-recipes yesterday > (https://github.com/ContinuumIO/conda-recipes/pull/14) so hopefully > a > mercurial build will be included in future anaconda releases. > > > On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone > <chris.m.malone@gmail.com> wrote: >> >> I just tried setting this up on OS X 10.7.5 and failed when >> attempting >> to create the conda environment due to a missing mercurial package: >> >> $ conda create -n ytenv -c http://conda.binstar.org/yt_project yt >> mercurial ipython tornado pyzmq pygments jinja2 sphinx >> Error: No packages found matching: mercurial >> >> >> On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum >> <nathan12343@gmail.com> wrote: >>> >>> Yup, please try on OSX as well. If you make sure Matt's binstar >>> is in >>> your .condarc, you should be able to get yt by doing 'conda >>> install yt'. >>> >>> I built the OSX binary on my laptop so I'd appreciate hearing >>> about >>> issues, particularly if there are issues on older OS X releases. >>> >>> On Thursday, August 29, 2013, Matthew Turk wrote: >>>> >>>> Hi all, >>>> >>>> Thank you for the feedback -- I am glad there is some agreement >>>> about >>>> possible ways forward, and so I'm happy to try to use this as an >>>> opportunity to explore simpler, more reliable methods than the >>>> install >>>> script. >>>> >>>> This afternoon, I spent a bit of time with Conda, and I think >>>> it's >>>> quite nice. There are a few rough corners, particularly related >>>> to >>>> the binstar service, but it's so far pretty great. With Nathan's >>>> help, I was able to upload a yt-2.5.5 package for linux x86_64 >>>> and >>>> then install it. >>>> >>>> The workflow that seems to work: >>>> >>>> * Get miniconda: http://repo.continuum.io/miniconda/index.html >>>> * Run the installer for miniconda >>>> * Enter the conda environment and then install yt by doing "conda >>>> install yt -c http://conda.binstar.org/yt_project/ ". >>>> >>>> I think that this can likely all be stuck into a bash script. A >>>> simple, first pass at this is here: >>>> >>>> http://paste.yt-project.org/show/3833/ >>>> >>>> This right now only works on Linux x86_64, but getting it to work >>>> for >>>> other machines won't be too hard. I suspect we will be able to >>>> do >>>> nightlies very easily as well. If anyone out there has an x86_64 >>>> machine they wouldn't mind trying it on, that would be very >>>> helpful! >>>> I did find that once I ran this script, I had to actually prepend >>>> the >>>> PATH afterwards as well. This means doing: >>>> >>>> export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH >>>> export PATH=$HOME/yt-conda:$PATH >>>> source activate ytenv >>>> >>>> At that point, everything was set up and working for me. The >>>> miniconda install offers to add paths to .bashrc, but I don't >>>> think >>>> we >>>> should go down that route. That being said, this is also a >>>> possible >>>> point of friction. >>>> >>>> One nice thing is that this also completely works with the full >>>> anaconda; if someone wants everything that is in the anaconda >>>> install, >>>> they can even simply do "conda install anaconda" from the command >>>> line >>>> to get it. But the stripped down subset is the default. >>>> >>>> If anyone has a chance to try this out and has feedback, I'd >>>> greatly >>>> appreciate it! I think Nathan has done something very similar >>>> for >>>> OSX. I've also put a couple simple conda recipes here: >>>> https://bitbucket.org/yt_analysis/yt_conda which we can use as a >>>> basis >>>> for distributing builds and setting them up on buildbots and the >>>> like. >>>> I'm pretty optimistic about this. >>>> >>>> -Matt >>>> >>>> On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum >>>> <nathan12343@gmail.com> wrote: >>>>> I think to get everything working in a sustainable fashion, we >>>>> would need >>>>> buildbots for all platform combinations that we want to support, >>>>> so >>>>> all >>>>> permutations of the (32/64 bit, linux / OS X / windows, >>>>> py27/py3.3) tuple. >>>>> At the moment anaconda seems to support 32 and 64 bit linux, 64 >>>>> bit >>>>> OS X >>>>> (not totally clear if OS X version matters), and 32 and 64 bit >>>>> windows. >>>>> >>>>> Another option is to rely on conda build, which compiles >>>>> everything >>>>> from >>>>> source. >>>>> >>>>> >>>>> On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> >>>>> wrote: >>>>>> >>>>>> Hi all, >>>>>> >>>>>> I have less of a skin in this than I used to, but I'd like to >>>>>> raise >>>>>> the issue of Windows & package managers. For example, Anaconda >>>>>> is >>>>>> available for Windows - would that mean that yt might "just >>>>>> work" >>>>>> on >>>>>> Windows? Or the opposite, and it would require a great deal of >>>>>> effort >>>>>> to get all the various things we expect to be .so's to work as >>>>>> .dll's >>>>>> (such as the Cython helpers or halo-finding stuff)? >>>>>> >>>>>> I don't know the answers to these questions, but I think it's >>>>>> worth >>>>>> thinking about. >>>>>> >>>>>> -- >>>>>> Stephen Skory >>>>>> s@skory.us >>>>>> http://stephenskory.com/ >>>>>> 510.621.3687 (google voice) >>>>>> _______________________________________________ >>>>>> yt-dev mailing list >>>>>> yt-dev@lists.spacepope.org >>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> yt-dev mailing list >>>>> yt-dev@lists.spacepope.org >>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>> >>>> _______________________________________________ >>>> yt-dev mailing list >>>> yt-dev@lists.spacepope.org >>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>> >>> >>> _______________________________________________ >>> yt-dev mailing list >>> yt-dev@lists.spacepope.org >>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>> >> >> >> _______________________________________________ >> yt-dev mailing list >> yt-dev@lists.spacepope.org >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >> > > > _______________________________________________ > yt-dev mailing list > yt-dev@lists.spacepope.org > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/7857f26c1ef2e9bdbfa843f9087710f7.jpg?s=120&d=mm&r=g)
Here's an updated version of the shell script Matt sent out earlier today that builds yt and then installs it based on the yt-conda recipe: http://paste.yt-project.org/show/3848/ I like this a lot and think it can be improved in several simple ways, most of which can be readily scraped from the install script: * Install in the folder that the script was invoked in rather than $HOME * Add an option to install anaconda with a warning about needing a couple hundred megabytes of space * Install the miniconda package appropriate for the platform * Add warnings on various platforms regarding needed packages and compilers (i.e. still need build-essentials on ubuntu and Xcode on OSX). * Add a warning at the end about modifying .bashrc for PATH and LD_LIBRARY_PATH or supply an activate script that sets them for us. * Clone yt-doc, yt-supplemental and the main yt repo and put them in the yt-conda directory. * Check if conda is already available and (optionally?) skip the miniconda step. * Ensure the user that yt loves them. As Matt suggested on a Conda github issue ( https://github.com/ContinuumIO/conda/issues/176#issuecomment-23753101) it would be nice to first try to conda install yt and then if that fails use conda build. I think it should be possible to set this up as part of the bash script. As asmurer notes in the issue, general support for this sort of mixed binary/source distribution in conda might be difficult but with yt it works since our setup script is platform agnostic so long as the compilation environment is set up correctly and we don't even try to work correctly on windows. So long as we provide binary yt packages of (at least) the stable releases, this should obviate the need for proper compiler setup, which avoid a significant source of pain for OS X users as well as linux users on platforms like ubuntu that don't provide sane build environments out of the box. -Nathan On Tue, Sep 3, 2013 at 12:28 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi Nathan,
John, can you give a little more info on that error? I'm a little concerned that there are binary incompatibilities that conda can't resolve. Perhaps this is something we should report on the conda issue tracker.
Matt, can't we get the recipes in the same way we get the latest dev install script? Something like:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/yt/meta.yaml
This doesn't currently work, although it does work for the yt repo, I
On Tue, Sep 3, 2013 at 3:10 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote: think
because we use named branches in that repository.
Yup -- you can do it like this:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/default/yt/meta.yaml
...although for me right now it's failing from a bad BB certificate.
The only problem with "pip install" is that it no longer lists pip installations inside the "conda list" or "conda update" outputs. This has been discussed recently on the mailing list for Anaconda:
https://groups.google.com/a/continuum.io/forum/?fromgroups#!topic/anaconda/w...
...but there has not yet been a resolution.
-Matt
On Tue, Sep 3, 2013 at 12:00 PM, John ZuHone <jzuhone@gmail.com> wrote:
Works fine for me on OS X x86_64.
On my Goddard-controlled Linux x86_64 server, everything worked fine except Mercurial, which I "conda install"-ed using the yt link, but the binary had an incompatibility which the glibc that was installed on the machine. Using pip to install Mercurial (which did it from source) was
workaround.
On Sep 3, 2013, at 2:54 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi all,
Thanks to everybody who has reported back on testing. After some talking both offline and on IRC, as well as here, I think we would need to do the following things:
* Make a single script that grabs the appropriate distribution of miniconda and installs it. Right now I have a mechanism for doing this, but it's currently tied to an architecture. * Create a mechanism for installing all the packages we need. Nearly all are available inside the Continuum repos. What we're hung up on is that source installs require a "recipe", and transmitting the recipe is where I don't have an idea of what to do. * Test this out lots of places * Clean up the edges in the (new) install script * Move the old install script to maintenance mode * Update all documentation to describe this and mothball other methods of installation
What would be nice:
* Make available nightly builds of yt on several architectures using binstar * Utilize more of the packages included in conda elsewhere in yt, now that we can!
Here's my current recipe for get_yt.sh:
http://paste.yt-project.org/show/3843/
(The config thing may get switched to include the --system argument, to modify the "yt-conda" condarc.) The step that I'm most stuck on is getting the yt recipe to people. If we want to make it possible and easy to build from source, we need to get the contents of a "conda recipe" to people. They can then run "conda build ." in the directory. Here are the recipes that we've been playing with:
https://bitbucket.org/yt_analysis/yt_conda/src
Basically, in get_yt.sh, to do from source instead of from binary we need to insert a step at the end that downloads the recipes somehow and then cd's into the right directory and builds them. The reason this is tricky is that we often need to bootstrap ourselves; we can't assume anything exists. We can download the .tar.bz2 of the current tip of the repo, but it includes the hash in the directory name that it extracts to.
So I think what we need is a mechanism for getting the current state of the repo, figuring out the name of the repo's directory, moves into it, and then builds. I believe that all/most of this becomes much, much easier if hg gets included in Anaconda, which Nathan has submitted a PR for. So hopefully that will be taken care of, but until that time we can possibly figure something out. I'm not sure that we have the resources to continually support binary nightly builds in perpetuity for all the architectures that people run on, so having source would be awesome. Plus, one of the biggest appeals of how we distribute yt is that the source is included; I would very much not like to give this up.
Thoughts? Has anyone else tested any of this out?
-Matt
On Tue, Sep 3, 2013 at 1:04 PM, Britton Smith <brittonsmith@gmail.com
wrote:
Hi everyone,
Sorry for chiming in late. I just moved when this thread began and do not have regular internet access.
I really like this idea of conda, especially as a package manager
only optionally makes its own edits to your .bashrc. I have always really liked that the install script creates a clean python stack with basically everything a python user needs. I have on occasion suggested it to people just looking to use numpy and matploblib. It looks like conda will continue to provide this nice by-product, so I'm all for it.
I won't be in a position to help with testing and such for another week or so when I get regular internet access, but I would be glad to do so then.
Britton
On Fri, Aug 30, 2013 at 9:29 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Everything should be available now for 64 bit linux and OS X.
On Fri, Aug 30, 2013 at 10:52 AM, Chris Malone <chris.m.malone@gmail.com> wrote: > > Hi Nathan, > > That appears to work as it built the environment and `conda install > ...` > added packages to my environment. > > One mistake I made was that I originally downloaded the "latest"
OS X
> build of Miniconda, but that happened to be Miniconda3, which is > python 3 > based. Trying to build the environment with that yields an error > regarding > incompatibility of yt and python3.3, as it should. > > Chris > > > On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum > <nathan12343@gmail.com> > wrote: >> >> Hey Chris, >> >> I don't think mercurial is strictly necessary, can you try again >> without >> it? I think if Matt uploads a mercurial package for OS X this won't >> be an >> issue. I'll send him an updated tarball. >> >> I submitted a mercurial recipe to conda-recipes yesterday >> (https://github.com/ContinuumIO/conda-recipes/pull/14) so hopefully >> a >> mercurial build will be included in future anaconda releases. >> >> >> On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone >> <chris.m.malone@gmail.com> wrote: >>> >>> I just tried setting this up on OS X 10.7.5 and failed when >>> attempting >>> to create the conda environment due to a missing mercurial
>>> >>> $ conda create -n ytenv -c http://conda.binstar.org/yt_projectyt >>> mercurial ipython tornado pyzmq pygments jinja2 sphinx >>> Error: No packages found matching: mercurial >>> >>> >>> On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum >>> <nathan12343@gmail.com> wrote: >>>> >>>> Yup, please try on OSX as well. If you make sure Matt's binstar >>>> is in >>>> your .condarc, you should be able to get yt by doing 'conda >>>> install yt'. >>>> >>>> I built the OSX binary on my laptop so I'd appreciate hearing >>>> about >>>> issues, particularly if there are issues on older OS X releases. >>>> >>>> On Thursday, August 29, 2013, Matthew Turk wrote: >>>>> >>>>> Hi all, >>>>> >>>>> Thank you for the feedback -- I am glad there is some agreement >>>>> about >>>>> possible ways forward, and so I'm happy to try to use this as an >>>>> opportunity to explore simpler, more reliable methods than the >>>>> install >>>>> script. >>>>> >>>>> This afternoon, I spent a bit of time with Conda, and I think >>>>> it's >>>>> quite nice. There are a few rough corners, particularly related >>>>> to >>>>> the binstar service, but it's so far pretty great. With Nathan's >>>>> help, I was able to upload a yt-2.5.5 package for linux x86_64 >>>>> and >>>>> then install it. >>>>> >>>>> The workflow that seems to work: >>>>> >>>>> * Get miniconda: http://repo.continuum.io/miniconda/index.html >>>>> * Run the installer for miniconda >>>>> * Enter the conda environment and then install yt by doing "conda >>>>> install yt -c http://conda.binstar.org/yt_project/ ". >>>>> >>>>> I think that this can likely all be stuck into a bash script. A >>>>> simple, first pass at this is here: >>>>> >>>>> http://paste.yt-project.org/show/3833/ >>>>> >>>>> This right now only works on Linux x86_64, but getting it to work >>>>> for >>>>> other machines won't be too hard. I suspect we will be able to >>>>> do >>>>> nightlies very easily as well. If anyone out there has an x86_64 >>>>> machine they wouldn't mind trying it on, that would be very >>>>> helpful! >>>>> I did find that once I ran this script, I had to actually
>>>>> the >>>>> PATH afterwards as well. This means doing: >>>>> >>>>> export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH >>>>> export PATH=$HOME/yt-conda:$PATH >>>>> source activate ytenv >>>>> >>>>> At that point, everything was set up and working for me. The >>>>> miniconda install offers to add paths to .bashrc, but I don't >>>>> think >>>>> we >>>>> should go down that route. That being said, this is also a >>>>> possible >>>>> point of friction. >>>>> >>>>> One nice thing is that this also completely works with the full >>>>> anaconda; if someone wants everything that is in the anaconda >>>>> install, >>>>> they can even simply do "conda install anaconda" from the command >>>>> line >>>>> to get it. But the stripped down subset is the default. >>>>> >>>>> If anyone has a chance to try this out and has feedback, I'd >>>>> greatly >>>>> appreciate it! I think Nathan has done something very similar >>>>> for >>>>> OSX. I've also put a couple simple conda recipes here: >>>>> https://bitbucket.org/yt_analysis/yt_conda which we can use as a >>>>> basis >>>>> for distributing builds and setting them up on buildbots and
the that package: prepend the
>>>>> like. >>>>> I'm pretty optimistic about this. >>>>> >>>>> -Matt >>>>> >>>>> On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum >>>>> <nathan12343@gmail.com> wrote: >>>>>> I think to get everything working in a sustainable fashion, we >>>>>> would need >>>>>> buildbots for all platform combinations that we want to support, >>>>>> so >>>>>> all >>>>>> permutations of the (32/64 bit, linux / OS X / windows, >>>>>> py27/py3.3) tuple. >>>>>> At the moment anaconda seems to support 32 and 64 bit linux, 64 >>>>>> bit >>>>>> OS X >>>>>> (not totally clear if OS X version matters), and 32 and 64 bit >>>>>> windows. >>>>>> >>>>>> Another option is to rely on conda build, which compiles >>>>>> everything >>>>>> from >>>>>> source. >>>>>> >>>>>> >>>>>> On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> >>>>>> wrote: >>>>>>> >>>>>>> Hi all, >>>>>>> >>>>>>> I have less of a skin in this than I used to, but I'd like to >>>>>>> raise >>>>>>> the issue of Windows & package managers. For example, Anaconda >>>>>>> is >>>>>>> available for Windows - would that mean that yt might "just >>>>>>> work" >>>>>>> on >>>>>>> Windows? Or the opposite, and it would require a great deal of >>>>>>> effort >>>>>>> to get all the various things we expect to be .so's to work as >>>>>>> .dll's >>>>>>> (such as the Cython helpers or halo-finding stuff)? >>>>>>> >>>>>>> I don't know the answers to these questions, but I think it's >>>>>>> worth >>>>>>> thinking about. >>>>>>> >>>>>>> -- >>>>>>> Stephen Skory >>>>>>> s@skory.us >>>>>>> http://stephenskory.com/ >>>>>>> 510.621.3687 (google voice) >>>>>>> _______________________________________________ >>>>>>> yt-dev mailing list >>>>>>> yt-dev@lists.spacepope.org >>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> yt-dev mailing list >>>>>> yt-dev@lists.spacepope.org >>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>> >>>>> _______________________________________________ >>>>> yt-dev mailing list >>>>> yt-dev@lists.spacepope.org >>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>> >>>> >>>> _______________________________________________ >>>> yt-dev mailing list >>>> yt-dev@lists.spacepope.org >>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>> >>> >>> >>> _______________________________________________ >>> yt-dev mailing list >>> yt-dev@lists.spacepope.org >>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>> >> >> >> _______________________________________________ >> yt-dev mailing list >> yt-dev@lists.spacepope.org >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >> > > > _______________________________________________ > yt-dev mailing list > yt-dev@lists.spacepope.org > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/b279d746f54e2cd6062e8279a767c4bc.jpg?s=120&d=mm&r=g)
Hi Nathan, On Wed, Sep 4, 2013 at 2:54 AM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Here's an updated version of the shell script Matt sent out earlier today that builds yt and then installs it based on the yt-conda recipe: http://paste.yt-project.org/show/3848/
I like this a lot and think it can be improved in several simple ways, most of which can be readily scraped from the install script:
Me too. This is much improved over mine.
* Install in the folder that the script was invoked in rather than $HOME
Good idea.
* Add an option to install anaconda with a warning about needing a couple hundred megabytes of space
Excellent! I like this a lot. And, we should point to the Anaconda page for more info about packages and how Anaconda works.
* Install the miniconda package appropriate for the platform * Add warnings on various platforms regarding needed packages and compilers (i.e. still need build-essentials on ubuntu and Xcode on OSX). * Add a warning at the end about modifying .bashrc for PATH and LD_LIBRARY_PATH or supply an activate script that sets them for us.
I think I'd prefer to supply an activate script that both activates Conda *and* the yt environment in it. That way individuals who want to use Conda directly can do so, but we also make it possible to keep the behavior that people have already.
* Clone yt-doc, yt-supplemental and the main yt repo and put them in the yt-conda directory.
Agreed.
* Check if conda is already available and (optionally?) skip the miniconda step.
I'm not sure about this, since I think we will then just tell people to install their own yt. I think the install script should not be *too* complex in this regard.
* Ensure the user that yt loves them.
Yes.
As Matt suggested on a Conda github issue (https://github.com/ContinuumIO/conda/issues/176#issuecomment-23753101) it would be nice to first try to conda install yt and then if that fails use conda build. I think it should be possible to set this up as part of the bash script. As asmurer notes in the issue, general support for this sort of mixed binary/source distribution in conda might be difficult but with yt it works since our setup script is platform agnostic so long as the compilation environment is set up correctly and we don't even try to work correctly on windows.
So long as we provide binary yt packages of (at least) the stable releases, this should obviate the need for proper compiler setup, which avoid a significant source of pain for OS X users as well as linux users on platforms like ubuntu that don't provide sane build environments out of the box.
-Nathan
Awesome work, and I am getting more excited about this as time goes on. I am going to try my hand at updating the new script in the way you mentioned, and then I will try checking it into the repo and issue a PR so we can iterate there. I hope to get to this by tomorrow morning. -Matt
On Tue, Sep 3, 2013 at 12:28 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi Nathan,
On Tue, Sep 3, 2013 at 3:10 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
John, can you give a little more info on that error? I'm a little concerned that there are binary incompatibilities that conda can't resolve. Perhaps this is something we should report on the conda issue tracker.
Matt, can't we get the recipes in the same way we get the latest dev install script? Something like:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/yt/meta.yaml
This doesn't currently work, although it does work for the yt repo, I think because we use named branches in that repository.
Yup -- you can do it like this:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/default/yt/meta.yaml
...although for me right now it's failing from a bad BB certificate.
The only problem with "pip install" is that it no longer lists pip installations inside the "conda list" or "conda update" outputs. This has been discussed recently on the mailing list for Anaconda:
https://groups.google.com/a/continuum.io/forum/?fromgroups#!topic/anaconda/w...
...but there has not yet been a resolution.
-Matt
On Tue, Sep 3, 2013 at 12:00 PM, John ZuHone <jzuhone@gmail.com> wrote:
Works fine for me on OS X x86_64.
On my Goddard-controlled Linux x86_64 server, everything worked fine except Mercurial, which I "conda install"-ed using the yt link, but the binary had an incompatibility which the glibc that was installed on the machine. Using pip to install Mercurial (which did it from source) was the workaround.
On Sep 3, 2013, at 2:54 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi all,
Thanks to everybody who has reported back on testing. After some talking both offline and on IRC, as well as here, I think we would need to do the following things:
* Make a single script that grabs the appropriate distribution of miniconda and installs it. Right now I have a mechanism for doing this, but it's currently tied to an architecture. * Create a mechanism for installing all the packages we need. Nearly all are available inside the Continuum repos. What we're hung up on is that source installs require a "recipe", and transmitting the recipe is where I don't have an idea of what to do. * Test this out lots of places * Clean up the edges in the (new) install script * Move the old install script to maintenance mode * Update all documentation to describe this and mothball other methods of installation
What would be nice:
* Make available nightly builds of yt on several architectures using binstar * Utilize more of the packages included in conda elsewhere in yt, now that we can!
Here's my current recipe for get_yt.sh:
http://paste.yt-project.org/show/3843/
(The config thing may get switched to include the --system argument, to modify the "yt-conda" condarc.) The step that I'm most stuck on is getting the yt recipe to people. If we want to make it possible and easy to build from source, we need to get the contents of a "conda recipe" to people. They can then run "conda build ." in the directory. Here are the recipes that we've been playing with:
https://bitbucket.org/yt_analysis/yt_conda/src
Basically, in get_yt.sh, to do from source instead of from binary we need to insert a step at the end that downloads the recipes somehow and then cd's into the right directory and builds them. The reason this is tricky is that we often need to bootstrap ourselves; we can't assume anything exists. We can download the .tar.bz2 of the current tip of the repo, but it includes the hash in the directory name that it extracts to.
So I think what we need is a mechanism for getting the current state of the repo, figuring out the name of the repo's directory, moves into it, and then builds. I believe that all/most of this becomes much, much easier if hg gets included in Anaconda, which Nathan has submitted a PR for. So hopefully that will be taken care of, but until that time we can possibly figure something out. I'm not sure that we have the resources to continually support binary nightly builds in perpetuity for all the architectures that people run on, so having source would be awesome. Plus, one of the biggest appeals of how we distribute yt is that the source is included; I would very much not like to give this up.
Thoughts? Has anyone else tested any of this out?
-Matt
On Tue, Sep 3, 2013 at 1:04 PM, Britton Smith <brittonsmith@gmail.com> wrote:
Hi everyone,
Sorry for chiming in late. I just moved when this thread began and do not have regular internet access.
I really like this idea of conda, especially as a package manager that only optionally makes its own edits to your .bashrc. I have always really liked that the install script creates a clean python stack with basically everything a python user needs. I have on occasion suggested it to people just looking to use numpy and matploblib. It looks like conda will continue to provide this nice by-product, so I'm all for it.
I won't be in a position to help with testing and such for another week or so when I get regular internet access, but I would be glad to do so then.
Britton
On Fri, Aug 30, 2013 at 9:29 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote: > > Everything should be available now for 64 bit linux and OS X. > > > On Fri, Aug 30, 2013 at 10:52 AM, Chris Malone > <chris.m.malone@gmail.com> > wrote: >> >> Hi Nathan, >> >> That appears to work as it built the environment and `conda >> install >> ...` >> added packages to my environment. >> >> One mistake I made was that I originally downloaded the "latest" >> OS X >> build of Miniconda, but that happened to be Miniconda3, which is >> python 3 >> based. Trying to build the environment with that yields an error >> regarding >> incompatibility of yt and python3.3, as it should. >> >> Chris >> >> >> On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum >> <nathan12343@gmail.com> >> wrote: >>> >>> Hey Chris, >>> >>> I don't think mercurial is strictly necessary, can you try again >>> without >>> it? I think if Matt uploads a mercurial package for OS X this >>> won't >>> be an >>> issue. I'll send him an updated tarball. >>> >>> I submitted a mercurial recipe to conda-recipes yesterday >>> (https://github.com/ContinuumIO/conda-recipes/pull/14) so >>> hopefully >>> a >>> mercurial build will be included in future anaconda releases. >>> >>> >>> On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone >>> <chris.m.malone@gmail.com> wrote: >>>> >>>> I just tried setting this up on OS X 10.7.5 and failed when >>>> attempting >>>> to create the conda environment due to a missing mercurial >>>> package: >>>> >>>> $ conda create -n ytenv -c http://conda.binstar.org/yt_project >>>> yt >>>> mercurial ipython tornado pyzmq pygments jinja2 sphinx >>>> Error: No packages found matching: mercurial >>>> >>>> >>>> On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum >>>> <nathan12343@gmail.com> wrote: >>>>> >>>>> Yup, please try on OSX as well. If you make sure Matt's >>>>> binstar >>>>> is in >>>>> your .condarc, you should be able to get yt by doing 'conda >>>>> install yt'. >>>>> >>>>> I built the OSX binary on my laptop so I'd appreciate hearing >>>>> about >>>>> issues, particularly if there are issues on older OS X >>>>> releases. >>>>> >>>>> On Thursday, August 29, 2013, Matthew Turk wrote: >>>>>> >>>>>> Hi all, >>>>>> >>>>>> Thank you for the feedback -- I am glad there is some >>>>>> agreement >>>>>> about >>>>>> possible ways forward, and so I'm happy to try to use this as >>>>>> an >>>>>> opportunity to explore simpler, more reliable methods than the >>>>>> install >>>>>> script. >>>>>> >>>>>> This afternoon, I spent a bit of time with Conda, and I think >>>>>> it's >>>>>> quite nice. There are a few rough corners, particularly >>>>>> related >>>>>> to >>>>>> the binstar service, but it's so far pretty great. With >>>>>> Nathan's >>>>>> help, I was able to upload a yt-2.5.5 package for linux x86_64 >>>>>> and >>>>>> then install it. >>>>>> >>>>>> The workflow that seems to work: >>>>>> >>>>>> * Get miniconda: http://repo.continuum.io/miniconda/index.html >>>>>> * Run the installer for miniconda >>>>>> * Enter the conda environment and then install yt by doing >>>>>> "conda >>>>>> install yt -c http://conda.binstar.org/yt_project/ ". >>>>>> >>>>>> I think that this can likely all be stuck into a bash script. >>>>>> A >>>>>> simple, first pass at this is here: >>>>>> >>>>>> http://paste.yt-project.org/show/3833/ >>>>>> >>>>>> This right now only works on Linux x86_64, but getting it to >>>>>> work >>>>>> for >>>>>> other machines won't be too hard. I suspect we will be able >>>>>> to >>>>>> do >>>>>> nightlies very easily as well. If anyone out there has an >>>>>> x86_64 >>>>>> machine they wouldn't mind trying it on, that would be very >>>>>> helpful! >>>>>> I did find that once I ran this script, I had to actually >>>>>> prepend >>>>>> the >>>>>> PATH afterwards as well. This means doing: >>>>>> >>>>>> export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH >>>>>> export PATH=$HOME/yt-conda:$PATH >>>>>> source activate ytenv >>>>>> >>>>>> At that point, everything was set up and working for me. The >>>>>> miniconda install offers to add paths to .bashrc, but I don't >>>>>> think >>>>>> we >>>>>> should go down that route. That being said, this is also a >>>>>> possible >>>>>> point of friction. >>>>>> >>>>>> One nice thing is that this also completely works with the >>>>>> full >>>>>> anaconda; if someone wants everything that is in the anaconda >>>>>> install, >>>>>> they can even simply do "conda install anaconda" from the >>>>>> command >>>>>> line >>>>>> to get it. But the stripped down subset is the default. >>>>>> >>>>>> If anyone has a chance to try this out and has feedback, I'd >>>>>> greatly >>>>>> appreciate it! I think Nathan has done something very similar >>>>>> for >>>>>> OSX. I've also put a couple simple conda recipes here: >>>>>> https://bitbucket.org/yt_analysis/yt_conda which we can use as >>>>>> a >>>>>> basis >>>>>> for distributing builds and setting them up on buildbots and >>>>>> the >>>>>> like. >>>>>> I'm pretty optimistic about this. >>>>>> >>>>>> -Matt >>>>>> >>>>>> On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum >>>>>> <nathan12343@gmail.com> wrote: >>>>>>> I think to get everything working in a sustainable fashion, >>>>>>> we >>>>>>> would need >>>>>>> buildbots for all platform combinations that we want to >>>>>>> support, >>>>>>> so >>>>>>> all >>>>>>> permutations of the (32/64 bit, linux / OS X / windows, >>>>>>> py27/py3.3) tuple. >>>>>>> At the moment anaconda seems to support 32 and 64 bit linux, >>>>>>> 64 >>>>>>> bit >>>>>>> OS X >>>>>>> (not totally clear if OS X version matters), and 32 and 64 >>>>>>> bit >>>>>>> windows. >>>>>>> >>>>>>> Another option is to rely on conda build, which compiles >>>>>>> everything >>>>>>> from >>>>>>> source. >>>>>>> >>>>>>> >>>>>>> On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> >>>>>>> wrote: >>>>>>>> >>>>>>>> Hi all, >>>>>>>> >>>>>>>> I have less of a skin in this than I used to, but I'd like >>>>>>>> to >>>>>>>> raise >>>>>>>> the issue of Windows & package managers. For example, >>>>>>>> Anaconda >>>>>>>> is >>>>>>>> available for Windows - would that mean that yt might "just >>>>>>>> work" >>>>>>>> on >>>>>>>> Windows? Or the opposite, and it would require a great deal >>>>>>>> of >>>>>>>> effort >>>>>>>> to get all the various things we expect to be .so's to work >>>>>>>> as >>>>>>>> .dll's >>>>>>>> (such as the Cython helpers or halo-finding stuff)? >>>>>>>> >>>>>>>> I don't know the answers to these questions, but I think >>>>>>>> it's >>>>>>>> worth >>>>>>>> thinking about. >>>>>>>> >>>>>>>> -- >>>>>>>> Stephen Skory >>>>>>>> s@skory.us >>>>>>>> http://stephenskory.com/ >>>>>>>> 510.621.3687 (google voice) >>>>>>>> _______________________________________________ >>>>>>>> yt-dev mailing list >>>>>>>> yt-dev@lists.spacepope.org >>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>>> >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> yt-dev mailing list >>>>>>> yt-dev@lists.spacepope.org >>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>>> >>>>>> _______________________________________________ >>>>>> yt-dev mailing list >>>>>> yt-dev@lists.spacepope.org >>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>> >>>>> >>>>> _______________________________________________ >>>>> yt-dev mailing list >>>>> yt-dev@lists.spacepope.org >>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>> >>>> >>>> >>>> _______________________________________________ >>>> yt-dev mailing list >>>> yt-dev@lists.spacepope.org >>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>> >>> >>> >>> _______________________________________________ >>> yt-dev mailing list >>> yt-dev@lists.spacepope.org >>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>> >> >> >> _______________________________________________ >> yt-dev mailing list >> yt-dev@lists.spacepope.org >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >> > > > _______________________________________________ > yt-dev mailing list > yt-dev@lists.spacepope.org > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/b279d746f54e2cd6062e8279a767c4bc.jpg?s=120&d=mm&r=g)
Hi all, I've issued a PR with my first pass at the get_yt.sh script. I've ported over a bunch of functionality from the old install_script.sh and it works for me in a clean install on Ubuntu, although it does require the "chrpath" package which I oddly did not have. https://bitbucket.org/yt_analysis/yt/pull-request/591/first-draft-of-a-new-g... What would be really helpful is if a few people could try it out, make modifications, commit, push to their fork, and I will then pull in those changes until it does everything it needs to. I think what I would like to preserve is that the "get_yt.sh" script should *not* be about how to install Conda/Anaconda -- it should get yt installed, and the yt environment. The case of installing yt *into* Conda is what I'd like to cover by providing binary packages, and I suspect that our audience for that will grow with time. This script aims along a slightly different vector. I'm still not entirely sure how to handle source distributions; even with the yt-dev recipe Nathan has, it's still building binary packages. I've done my best to include the source as-is in the script, but to also use the yt recipe that Nathan has worked on. I'm not sure how the "yt-dev" recipe fits into that. Kacper, Nathan, any ideas about that? Would it just be the basic nightly package builder? Then we could have it get rebuild and reuploaded all the time; this would help with keeping people up to date, but *not* with encouraging contributions. -Matt PS One last thing is that our whole "get yt" documentation should be re-done. We should be much more clear about how and where to get the package, and reduce the number of options. On Fri, Sep 6, 2013 at 9:08 AM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi Nathan,
On Wed, Sep 4, 2013 at 2:54 AM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Here's an updated version of the shell script Matt sent out earlier today that builds yt and then installs it based on the yt-conda recipe: http://paste.yt-project.org/show/3848/
I like this a lot and think it can be improved in several simple ways, most of which can be readily scraped from the install script:
Me too. This is much improved over mine.
* Install in the folder that the script was invoked in rather than $HOME
Good idea.
* Add an option to install anaconda with a warning about needing a couple hundred megabytes of space
Excellent! I like this a lot. And, we should point to the Anaconda page for more info about packages and how Anaconda works.
* Install the miniconda package appropriate for the platform * Add warnings on various platforms regarding needed packages and compilers (i.e. still need build-essentials on ubuntu and Xcode on OSX). * Add a warning at the end about modifying .bashrc for PATH and LD_LIBRARY_PATH or supply an activate script that sets them for us.
I think I'd prefer to supply an activate script that both activates Conda *and* the yt environment in it. That way individuals who want to use Conda directly can do so, but we also make it possible to keep the behavior that people have already.
* Clone yt-doc, yt-supplemental and the main yt repo and put them in the yt-conda directory.
Agreed.
* Check if conda is already available and (optionally?) skip the miniconda step.
I'm not sure about this, since I think we will then just tell people to install their own yt. I think the install script should not be *too* complex in this regard.
* Ensure the user that yt loves them.
Yes.
As Matt suggested on a Conda github issue (https://github.com/ContinuumIO/conda/issues/176#issuecomment-23753101) it would be nice to first try to conda install yt and then if that fails use conda build. I think it should be possible to set this up as part of the bash script. As asmurer notes in the issue, general support for this sort of mixed binary/source distribution in conda might be difficult but with yt it works since our setup script is platform agnostic so long as the compilation environment is set up correctly and we don't even try to work correctly on windows.
So long as we provide binary yt packages of (at least) the stable releases, this should obviate the need for proper compiler setup, which avoid a significant source of pain for OS X users as well as linux users on platforms like ubuntu that don't provide sane build environments out of the box.
-Nathan
Awesome work, and I am getting more excited about this as time goes on. I am going to try my hand at updating the new script in the way you mentioned, and then I will try checking it into the repo and issue a PR so we can iterate there. I hope to get to this by tomorrow morning.
-Matt
On Tue, Sep 3, 2013 at 12:28 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi Nathan,
On Tue, Sep 3, 2013 at 3:10 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
John, can you give a little more info on that error? I'm a little concerned that there are binary incompatibilities that conda can't resolve. Perhaps this is something we should report on the conda issue tracker.
Matt, can't we get the recipes in the same way we get the latest dev install script? Something like:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/yt/meta.yaml
This doesn't currently work, although it does work for the yt repo, I think because we use named branches in that repository.
Yup -- you can do it like this:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/default/yt/meta.yaml
...although for me right now it's failing from a bad BB certificate.
The only problem with "pip install" is that it no longer lists pip installations inside the "conda list" or "conda update" outputs. This has been discussed recently on the mailing list for Anaconda:
https://groups.google.com/a/continuum.io/forum/?fromgroups#!topic/anaconda/w...
...but there has not yet been a resolution.
-Matt
On Tue, Sep 3, 2013 at 12:00 PM, John ZuHone <jzuhone@gmail.com> wrote:
Works fine for me on OS X x86_64.
On my Goddard-controlled Linux x86_64 server, everything worked fine except Mercurial, which I "conda install"-ed using the yt link, but the binary had an incompatibility which the glibc that was installed on the machine. Using pip to install Mercurial (which did it from source) was the workaround.
On Sep 3, 2013, at 2:54 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi all,
Thanks to everybody who has reported back on testing. After some talking both offline and on IRC, as well as here, I think we would need to do the following things:
* Make a single script that grabs the appropriate distribution of miniconda and installs it. Right now I have a mechanism for doing this, but it's currently tied to an architecture. * Create a mechanism for installing all the packages we need. Nearly all are available inside the Continuum repos. What we're hung up on is that source installs require a "recipe", and transmitting the recipe is where I don't have an idea of what to do. * Test this out lots of places * Clean up the edges in the (new) install script * Move the old install script to maintenance mode * Update all documentation to describe this and mothball other methods of installation
What would be nice:
* Make available nightly builds of yt on several architectures using binstar * Utilize more of the packages included in conda elsewhere in yt, now that we can!
Here's my current recipe for get_yt.sh:
http://paste.yt-project.org/show/3843/
(The config thing may get switched to include the --system argument, to modify the "yt-conda" condarc.) The step that I'm most stuck on is getting the yt recipe to people. If we want to make it possible and easy to build from source, we need to get the contents of a "conda recipe" to people. They can then run "conda build ." in the directory. Here are the recipes that we've been playing with:
https://bitbucket.org/yt_analysis/yt_conda/src
Basically, in get_yt.sh, to do from source instead of from binary we need to insert a step at the end that downloads the recipes somehow and then cd's into the right directory and builds them. The reason this is tricky is that we often need to bootstrap ourselves; we can't assume anything exists. We can download the .tar.bz2 of the current tip of the repo, but it includes the hash in the directory name that it extracts to.
So I think what we need is a mechanism for getting the current state of the repo, figuring out the name of the repo's directory, moves into it, and then builds. I believe that all/most of this becomes much, much easier if hg gets included in Anaconda, which Nathan has submitted a PR for. So hopefully that will be taken care of, but until that time we can possibly figure something out. I'm not sure that we have the resources to continually support binary nightly builds in perpetuity for all the architectures that people run on, so having source would be awesome. Plus, one of the biggest appeals of how we distribute yt is that the source is included; I would very much not like to give this up.
Thoughts? Has anyone else tested any of this out?
-Matt
On Tue, Sep 3, 2013 at 1:04 PM, Britton Smith <brittonsmith@gmail.com> wrote: > Hi everyone, > > Sorry for chiming in late. I just moved when this thread began and > do > not > have regular internet access. > > I really like this idea of conda, especially as a package manager > that > only > optionally makes its own edits to your .bashrc. I have always > really > liked > that the install script creates a clean python stack with basically > everything a python user needs. I have on occasion suggested it to > people > just looking to use numpy and matploblib. It looks like conda will > continue > to provide this nice by-product, so I'm all for it. > > I won't be in a position to help with testing and such for another > week > or > so when I get regular internet access, but I would be glad to do so > then. > > Britton > > > On Fri, Aug 30, 2013 at 9:29 PM, Nathan Goldbaum > <nathan12343@gmail.com> > wrote: >> >> Everything should be available now for 64 bit linux and OS X. >> >> >> On Fri, Aug 30, 2013 at 10:52 AM, Chris Malone >> <chris.m.malone@gmail.com> >> wrote: >>> >>> Hi Nathan, >>> >>> That appears to work as it built the environment and `conda >>> install >>> ...` >>> added packages to my environment. >>> >>> One mistake I made was that I originally downloaded the "latest" >>> OS X >>> build of Miniconda, but that happened to be Miniconda3, which is >>> python 3 >>> based. Trying to build the environment with that yields an error >>> regarding >>> incompatibility of yt and python3.3, as it should. >>> >>> Chris >>> >>> >>> On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum >>> <nathan12343@gmail.com> >>> wrote: >>>> >>>> Hey Chris, >>>> >>>> I don't think mercurial is strictly necessary, can you try again >>>> without >>>> it? I think if Matt uploads a mercurial package for OS X this >>>> won't >>>> be an >>>> issue. I'll send him an updated tarball. >>>> >>>> I submitted a mercurial recipe to conda-recipes yesterday >>>> (https://github.com/ContinuumIO/conda-recipes/pull/14) so >>>> hopefully >>>> a >>>> mercurial build will be included in future anaconda releases. >>>> >>>> >>>> On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone >>>> <chris.m.malone@gmail.com> wrote: >>>>> >>>>> I just tried setting this up on OS X 10.7.5 and failed when >>>>> attempting >>>>> to create the conda environment due to a missing mercurial >>>>> package: >>>>> >>>>> $ conda create -n ytenv -c http://conda.binstar.org/yt_project >>>>> yt >>>>> mercurial ipython tornado pyzmq pygments jinja2 sphinx >>>>> Error: No packages found matching: mercurial >>>>> >>>>> >>>>> On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum >>>>> <nathan12343@gmail.com> wrote: >>>>>> >>>>>> Yup, please try on OSX as well. If you make sure Matt's >>>>>> binstar >>>>>> is in >>>>>> your .condarc, you should be able to get yt by doing 'conda >>>>>> install yt'. >>>>>> >>>>>> I built the OSX binary on my laptop so I'd appreciate hearing >>>>>> about >>>>>> issues, particularly if there are issues on older OS X >>>>>> releases. >>>>>> >>>>>> On Thursday, August 29, 2013, Matthew Turk wrote: >>>>>>> >>>>>>> Hi all, >>>>>>> >>>>>>> Thank you for the feedback -- I am glad there is some >>>>>>> agreement >>>>>>> about >>>>>>> possible ways forward, and so I'm happy to try to use this as >>>>>>> an >>>>>>> opportunity to explore simpler, more reliable methods than the >>>>>>> install >>>>>>> script. >>>>>>> >>>>>>> This afternoon, I spent a bit of time with Conda, and I think >>>>>>> it's >>>>>>> quite nice. There are a few rough corners, particularly >>>>>>> related >>>>>>> to >>>>>>> the binstar service, but it's so far pretty great. With >>>>>>> Nathan's >>>>>>> help, I was able to upload a yt-2.5.5 package for linux x86_64 >>>>>>> and >>>>>>> then install it. >>>>>>> >>>>>>> The workflow that seems to work: >>>>>>> >>>>>>> * Get miniconda: http://repo.continuum.io/miniconda/index.html >>>>>>> * Run the installer for miniconda >>>>>>> * Enter the conda environment and then install yt by doing >>>>>>> "conda >>>>>>> install yt -c http://conda.binstar.org/yt_project/ ". >>>>>>> >>>>>>> I think that this can likely all be stuck into a bash script. >>>>>>> A >>>>>>> simple, first pass at this is here: >>>>>>> >>>>>>> http://paste.yt-project.org/show/3833/ >>>>>>> >>>>>>> This right now only works on Linux x86_64, but getting it to >>>>>>> work >>>>>>> for >>>>>>> other machines won't be too hard. I suspect we will be able >>>>>>> to >>>>>>> do >>>>>>> nightlies very easily as well. If anyone out there has an >>>>>>> x86_64 >>>>>>> machine they wouldn't mind trying it on, that would be very >>>>>>> helpful! >>>>>>> I did find that once I ran this script, I had to actually >>>>>>> prepend >>>>>>> the >>>>>>> PATH afterwards as well. This means doing: >>>>>>> >>>>>>> export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH >>>>>>> export PATH=$HOME/yt-conda:$PATH >>>>>>> source activate ytenv >>>>>>> >>>>>>> At that point, everything was set up and working for me. The >>>>>>> miniconda install offers to add paths to .bashrc, but I don't >>>>>>> think >>>>>>> we >>>>>>> should go down that route. That being said, this is also a >>>>>>> possible >>>>>>> point of friction. >>>>>>> >>>>>>> One nice thing is that this also completely works with the >>>>>>> full >>>>>>> anaconda; if someone wants everything that is in the anaconda >>>>>>> install, >>>>>>> they can even simply do "conda install anaconda" from the >>>>>>> command >>>>>>> line >>>>>>> to get it. But the stripped down subset is the default. >>>>>>> >>>>>>> If anyone has a chance to try this out and has feedback, I'd >>>>>>> greatly >>>>>>> appreciate it! I think Nathan has done something very similar >>>>>>> for >>>>>>> OSX. I've also put a couple simple conda recipes here: >>>>>>> https://bitbucket.org/yt_analysis/yt_conda which we can use as >>>>>>> a >>>>>>> basis >>>>>>> for distributing builds and setting them up on buildbots and >>>>>>> the >>>>>>> like. >>>>>>> I'm pretty optimistic about this. >>>>>>> >>>>>>> -Matt >>>>>>> >>>>>>> On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum >>>>>>> <nathan12343@gmail.com> wrote: >>>>>>>> I think to get everything working in a sustainable fashion, >>>>>>>> we >>>>>>>> would need >>>>>>>> buildbots for all platform combinations that we want to >>>>>>>> support, >>>>>>>> so >>>>>>>> all >>>>>>>> permutations of the (32/64 bit, linux / OS X / windows, >>>>>>>> py27/py3.3) tuple. >>>>>>>> At the moment anaconda seems to support 32 and 64 bit linux, >>>>>>>> 64 >>>>>>>> bit >>>>>>>> OS X >>>>>>>> (not totally clear if OS X version matters), and 32 and 64 >>>>>>>> bit >>>>>>>> windows. >>>>>>>> >>>>>>>> Another option is to rely on conda build, which compiles >>>>>>>> everything >>>>>>>> from >>>>>>>> source. >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> Hi all, >>>>>>>>> >>>>>>>>> I have less of a skin in this than I used to, but I'd like >>>>>>>>> to >>>>>>>>> raise >>>>>>>>> the issue of Windows & package managers. For example, >>>>>>>>> Anaconda >>>>>>>>> is >>>>>>>>> available for Windows - would that mean that yt might "just >>>>>>>>> work" >>>>>>>>> on >>>>>>>>> Windows? Or the opposite, and it would require a great deal >>>>>>>>> of >>>>>>>>> effort >>>>>>>>> to get all the various things we expect to be .so's to work >>>>>>>>> as >>>>>>>>> .dll's >>>>>>>>> (such as the Cython helpers or halo-finding stuff)? >>>>>>>>> >>>>>>>>> I don't know the answers to these questions, but I think >>>>>>>>> it's >>>>>>>>> worth >>>>>>>>> thinking about. >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Stephen Skory >>>>>>>>> s@skory.us >>>>>>>>> http://stephenskory.com/ >>>>>>>>> 510.621.3687 (google voice) >>>>>>>>> _______________________________________________ >>>>>>>>> yt-dev mailing list >>>>>>>>> yt-dev@lists.spacepope.org >>>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> yt-dev mailing list >>>>>>>> yt-dev@lists.spacepope.org >>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> yt-dev mailing list >>>>>>> yt-dev@lists.spacepope.org >>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> yt-dev mailing list >>>>>> yt-dev@lists.spacepope.org >>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> yt-dev mailing list >>>>> yt-dev@lists.spacepope.org >>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>> >>>> >>>> >>>> _______________________________________________ >>>> yt-dev mailing list >>>> yt-dev@lists.spacepope.org >>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>> >>> >>> >>> _______________________________________________ >>> yt-dev mailing list >>> yt-dev@lists.spacepope.org >>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>> >> >> >> _______________________________________________ >> yt-dev mailing list >> yt-dev@lists.spacepope.org >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >> > > > _______________________________________________ > yt-dev mailing list > yt-dev@lists.spacepope.org > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > _______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/7857f26c1ef2e9bdbfa843f9087710f7.jpg?s=120&d=mm&r=g)
The yt-dev recipe I created would only be good for nightly binary builds. I think that would only be useful for people who want the latest and greatest but don't want to set up a build environment, which I suspect is a relatively small group of people. We'll have to decide at some other point if we want to have buildbots and nightly builds. Agreed about updating our documentation and website. I think we should supply both the script and instructions for setting up yt using `pip` and already-installed conda packages. We should also link to a page that lists the packages needed to manually set up yt. On Sat, Sep 7, 2013 at 8:22 AM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi all,
I've issued a PR with my first pass at the get_yt.sh script. I've ported over a bunch of functionality from the old install_script.sh and it works for me in a clean install on Ubuntu, although it does require the "chrpath" package which I oddly did not have.
https://bitbucket.org/yt_analysis/yt/pull-request/591/first-draft-of-a-new-g...
What would be really helpful is if a few people could try it out, make modifications, commit, push to their fork, and I will then pull in those changes until it does everything it needs to. I think what I would like to preserve is that the "get_yt.sh" script should *not* be about how to install Conda/Anaconda -- it should get yt installed, and the yt environment. The case of installing yt *into* Conda is what I'd like to cover by providing binary packages, and I suspect that our audience for that will grow with time. This script aims along a slightly different vector.
I'm still not entirely sure how to handle source distributions; even with the yt-dev recipe Nathan has, it's still building binary packages. I've done my best to include the source as-is in the script, but to also use the yt recipe that Nathan has worked on. I'm not sure how the "yt-dev" recipe fits into that. Kacper, Nathan, any ideas about that? Would it just be the basic nightly package builder? Then we could have it get rebuild and reuploaded all the time; this would help with keeping people up to date, but *not* with encouraging contributions.
-Matt
PS One last thing is that our whole "get yt" documentation should be re-done. We should be much more clear about how and where to get the package, and reduce the number of options.
Hi Nathan,
On Wed, Sep 4, 2013 at 2:54 AM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Here's an updated version of the shell script Matt sent out earlier today that builds yt and then installs it based on the yt-conda recipe: http://paste.yt-project.org/show/3848/
I like this a lot and think it can be improved in several simple ways, most of which can be readily scraped from the install script:
Me too. This is much improved over mine.
* Install in the folder that the script was invoked in rather than
$HOME
Good idea.
* Add an option to install anaconda with a warning about needing a couple hundred megabytes of space
Excellent! I like this a lot. And, we should point to the Anaconda page for more info about packages and how Anaconda works.
* Install the miniconda package appropriate for the platform * Add warnings on various platforms regarding needed packages and compilers (i.e. still need build-essentials on ubuntu and Xcode on OSX). * Add a warning at the end about modifying .bashrc for PATH and LD_LIBRARY_PATH or supply an activate script that sets them for us.
I think I'd prefer to supply an activate script that both activates Conda *and* the yt environment in it. That way individuals who want to use Conda directly can do so, but we also make it possible to keep the behavior that people have already.
* Clone yt-doc, yt-supplemental and the main yt repo and put them
in the
yt-conda directory.
Agreed.
* Check if conda is already available and (optionally?) skip the miniconda step.
I'm not sure about this, since I think we will then just tell people to install their own yt. I think the install script should not be *too* complex in this regard.
* Ensure the user that yt loves them.
Yes.
As Matt suggested on a Conda github issue (https://github.com/ContinuumIO/conda/issues/176#issuecomment-23753101)
it
would be nice to first try to conda install yt and then if that fails use conda build. I think it should be possible to set this up as part of
bash script. As asmurer notes in the issue, general support for this sort of mixed binary/source distribution in conda might be difficult but with yt it works since our setup script is platform agnostic so long as the compilation environment is set up correctly and we don't even try to work correctly on windows.
So long as we provide binary yt packages of (at least) the stable releases, this should obviate the need for proper compiler setup, which avoid a significant source of pain for OS X users as well as linux users on platforms like ubuntu that don't provide sane build environments out of
box.
-Nathan
Awesome work, and I am getting more excited about this as time goes on. I am going to try my hand at updating the new script in the way you mentioned, and then I will try checking it into the repo and issue a PR so we can iterate there. I hope to get to this by tomorrow morning.
-Matt
On Tue, Sep 3, 2013 at 12:28 PM, Matthew Turk <matthewturk@gmail.com>
wrote:
Hi Nathan,
On Tue, Sep 3, 2013 at 3:10 PM, Nathan Goldbaum <nathan12343@gmail.com
wrote:
John, can you give a little more info on that error? I'm a little concerned that there are binary incompatibilities that conda can't resolve. Perhaps this is something we should report on the conda issue tracker.
Matt, can't we get the recipes in the same way we get the latest dev install script? Something like:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/yt/meta.yaml
This doesn't currently work, although it does work for the yt repo, I think because we use named branches in that repository.
Yup -- you can do it like this:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/default/yt/meta.yaml
...although for me right now it's failing from a bad BB certificate.
The only problem with "pip install" is that it no longer lists pip installations inside the "conda list" or "conda update" outputs. This has been discussed recently on the mailing list for Anaconda:
https://groups.google.com/a/continuum.io/forum/?fromgroups#!topic/anaconda/w...
...but there has not yet been a resolution.
-Matt
On Tue, Sep 3, 2013 at 12:00 PM, John ZuHone <jzuhone@gmail.com>
wrote:
Works fine for me on OS X x86_64.
On my Goddard-controlled Linux x86_64 server, everything worked fine except Mercurial, which I "conda install"-ed using the yt link, but
binary had an incompatibility which the glibc that was installed on
machine. Using pip to install Mercurial (which did it from source) was the workaround.
On Sep 3, 2013, at 2:54 PM, Matthew Turk <matthewturk@gmail.com> wrote:
> Hi all, > > Thanks to everybody who has reported back on testing. After some > talking both offline and on IRC, as well as here, I think we would > need to do the following things: > > * Make a single script that grabs the appropriate distribution of > miniconda and installs it. Right now I have a mechanism for doing > this, but it's currently tied to an architecture. > * Create a mechanism for installing all the packages we need. Nearly > all are available inside the Continuum repos. What we're hung up on > is that source installs require a "recipe", and transmitting the > recipe is where I don't have an idea of what to do. > * Test this out lots of places > * Clean up the edges in the (new) install script > * Move the old install script to maintenance mode > * Update all documentation to describe this and mothball other > methods of installation > > What would be nice: > > * Make available nightly builds of yt on several architectures using > binstar > * Utilize more of the packages included in conda elsewhere in yt, now > that we can! > > Here's my current recipe for get_yt.sh: > > http://paste.yt-project.org/show/3843/ > > (The config thing may get switched to include the --system argument, > to modify the "yt-conda" condarc.) The step that I'm most stuck on > is > getting the yt recipe to people. If we want to make it possible and > easy to build from source, we need to get the contents of a "conda > recipe" to people. They can then run "conda build ." in the > directory. Here are the recipes that we've been playing with: > > https://bitbucket.org/yt_analysis/yt_conda/src > > Basically, in get_yt.sh, to do from source instead of from binary we > need to insert a step at the end that downloads the recipes somehow > and then cd's into the right directory and builds them. The reason > this is tricky is that we often need to bootstrap ourselves; we can't > assume anything exists. We can download the .tar.bz2 of the current > tip of the repo, but it includes the hash in the directory name
> it extracts to. > > So I think what we need is a mechanism for getting the current state > of the repo, figuring out the name of the repo's directory, moves > into > it, and then builds. I believe that all/most of this becomes much, > much easier if hg gets included in Anaconda, which Nathan has > submitted a PR for. So hopefully that will be taken care of, but > until that time we can possibly figure something out. I'm not sure > that we have the resources to continually support binary nightly > builds in perpetuity for all the architectures that people run on, so > having source would be awesome. Plus, one of the biggest appeals of > how we distribute yt is that the source is included; I would very > much > not like to give this up. > > Thoughts? Has anyone else tested any of this out? > > -Matt > > On Tue, Sep 3, 2013 at 1:04 PM, Britton Smith > <brittonsmith@gmail.com> > wrote: >> Hi everyone, >> >> Sorry for chiming in late. I just moved when this thread began and >> do >> not >> have regular internet access. >> >> I really like this idea of conda, especially as a package manager >> that >> only >> optionally makes its own edits to your .bashrc. I have always >> really >> liked >> that the install script creates a clean python stack with basically >> everything a python user needs. I have on occasion suggested it to >> people >> just looking to use numpy and matploblib. It looks like conda will >> continue >> to provide this nice by-product, so I'm all for it. >> >> I won't be in a position to help with testing and such for another >> week >> or >> so when I get regular internet access, but I would be glad to do so >> then. >> >> Britton >> >> >> On Fri, Aug 30, 2013 at 9:29 PM, Nathan Goldbaum >> <nathan12343@gmail.com> >> wrote: >>> >>> Everything should be available now for 64 bit linux and OS X. >>> >>> >>> On Fri, Aug 30, 2013 at 10:52 AM, Chris Malone >>> <chris.m.malone@gmail.com> >>> wrote: >>>> >>>> Hi Nathan, >>>> >>>> That appears to work as it built the environment and `conda >>>> install >>>> ...` >>>> added packages to my environment. >>>> >>>> One mistake I made was that I originally downloaded the "latest" >>>> OS X >>>> build of Miniconda, but that happened to be Miniconda3, which is >>>> python 3 >>>> based. Trying to build the environment with that yields an error >>>> regarding >>>> incompatibility of yt and python3.3, as it should. >>>> >>>> Chris >>>> >>>> >>>> On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum >>>> <nathan12343@gmail.com> >>>> wrote: >>>>> >>>>> Hey Chris, >>>>> >>>>> I don't think mercurial is strictly necessary, can you try again >>>>> without >>>>> it? I think if Matt uploads a mercurial package for OS X this >>>>> won't >>>>> be an >>>>> issue. I'll send him an updated tarball. >>>>> >>>>> I submitted a mercurial recipe to conda-recipes yesterday >>>>> (https://github.com/ContinuumIO/conda-recipes/pull/14) so >>>>> hopefully >>>>> a >>>>> mercurial build will be included in future anaconda releases. >>>>> >>>>> >>>>> On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone >>>>> <chris.m.malone@gmail.com> wrote: >>>>>> >>>>>> I just tried setting this up on OS X 10.7.5 and failed when >>>>>> attempting >>>>>> to create the conda environment due to a missing mercurial >>>>>> package: >>>>>> >>>>>> $ conda create -n ytenv -c http://conda.binstar.org/yt_project >>>>>> yt >>>>>> mercurial ipython tornado pyzmq pygments jinja2 sphinx >>>>>> Error: No packages found matching: mercurial >>>>>> >>>>>> >>>>>> On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum >>>>>> <nathan12343@gmail.com> wrote: >>>>>>> >>>>>>> Yup, please try on OSX as well. If you make sure Matt's >>>>>>> binstar >>>>>>> is in >>>>>>> your .condarc, you should be able to get yt by doing 'conda >>>>>>> install yt'. >>>>>>> >>>>>>> I built the OSX binary on my laptop so I'd appreciate hearing >>>>>>> about >>>>>>> issues, particularly if there are issues on older OS X >>>>>>> releases. >>>>>>> >>>>>>> On Thursday, August 29, 2013, Matthew Turk wrote: >>>>>>>> >>>>>>>> Hi all, >>>>>>>> >>>>>>>> Thank you for the feedback -- I am glad there is some >>>>>>>> agreement >>>>>>>> about >>>>>>>> possible ways forward, and so I'm happy to try to use this as >>>>>>>> an >>>>>>>> opportunity to explore simpler, more reliable methods than
>>>>>>>> install >>>>>>>> script. >>>>>>>> >>>>>>>> This afternoon, I spent a bit of time with Conda, and I
>>>>>>>> it's >>>>>>>> quite nice. There are a few rough corners, particularly >>>>>>>> related >>>>>>>> to >>>>>>>> the binstar service, but it's so far pretty great. With >>>>>>>> Nathan's >>>>>>>> help, I was able to upload a yt-2.5.5 package for linux x86_64 >>>>>>>> and >>>>>>>> then install it. >>>>>>>> >>>>>>>> The workflow that seems to work: >>>>>>>> >>>>>>>> * Get miniconda: http://repo.continuum.io/miniconda/index.html >>>>>>>> * Run the installer for miniconda >>>>>>>> * Enter the conda environment and then install yt by doing >>>>>>>> "conda >>>>>>>> install yt -c http://conda.binstar.org/yt_project/ ". >>>>>>>> >>>>>>>> I think that this can likely all be stuck into a bash
>>>>>>>> A >>>>>>>> simple, first pass at this is here: >>>>>>>> >>>>>>>> http://paste.yt-project.org/show/3833/ >>>>>>>> >>>>>>>> This right now only works on Linux x86_64, but getting it to >>>>>>>> work >>>>>>>> for >>>>>>>> other machines won't be too hard. I suspect we will be able >>>>>>>> to >>>>>>>> do >>>>>>>> nightlies very easily as well. If anyone out there has an >>>>>>>> x86_64 >>>>>>>> machine they wouldn't mind trying it on, that would be very >>>>>>>> helpful! >>>>>>>> I did find that once I ran this script, I had to actually >>>>>>>> prepend >>>>>>>> the >>>>>>>> PATH afterwards as well. This means doing: >>>>>>>> >>>>>>>> export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH >>>>>>>> export PATH=$HOME/yt-conda:$PATH >>>>>>>> source activate ytenv >>>>>>>> >>>>>>>> At that point, everything was set up and working for me. The >>>>>>>> miniconda install offers to add paths to .bashrc, but I don't >>>>>>>> think >>>>>>>> we >>>>>>>> should go down that route. That being said, this is also a >>>>>>>> possible >>>>>>>> point of friction. >>>>>>>> >>>>>>>> One nice thing is that this also completely works with the >>>>>>>> full >>>>>>>> anaconda; if someone wants everything that is in the anaconda >>>>>>>> install, >>>>>>>> they can even simply do "conda install anaconda" from the >>>>>>>> command >>>>>>>> line >>>>>>>> to get it. But the stripped down subset is the default. >>>>>>>> >>>>>>>> If anyone has a chance to try this out and has feedback, I'd >>>>>>>> greatly >>>>>>>> appreciate it! I think Nathan has done something very similar >>>>>>>> for >>>>>>>> OSX. I've also put a couple simple conda recipes here: >>>>>>>> https://bitbucket.org/yt_analysis/yt_conda which we can use as >>>>>>>> a >>>>>>>> basis >>>>>>>> for distributing builds and setting them up on buildbots and >>>>>>>> the >>>>>>>> like. >>>>>>>> I'm pretty optimistic about this. >>>>>>>> >>>>>>>> -Matt >>>>>>>> >>>>>>>> On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum >>>>>>>> <nathan12343@gmail.com> wrote: >>>>>>>>> I think to get everything working in a sustainable fashion, >>>>>>>>> we >>>>>>>>> would need >>>>>>>>> buildbots for all platform combinations that we want to >>>>>>>>> support, >>>>>>>>> so >>>>>>>>> all >>>>>>>>> permutations of the (32/64 bit, linux / OS X / windows, >>>>>>>>> py27/py3.3) tuple. >>>>>>>>> At the moment anaconda seems to support 32 and 64 bit
>>>>>>>>> 64 >>>>>>>>> bit >>>>>>>>> OS X >>>>>>>>> (not totally clear if OS X version matters), and 32 and 64 >>>>>>>>> bit >>>>>>>>> windows. >>>>>>>>> >>>>>>>>> Another option is to rely on conda build, which compiles >>>>>>>>> everything >>>>>>>>> from >>>>>>>>> source. >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory < s@skory.us> >>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> Hi all, >>>>>>>>>> >>>>>>>>>> I have less of a skin in this than I used to, but I'd
On Fri, Sep 6, 2013 at 9:08 AM, Matthew Turk <matthewturk@gmail.com> wrote: the the the the that the think script. linux, like
>>>>>>>>>> to >>>>>>>>>> raise >>>>>>>>>> the issue of Windows & package managers. For example, >>>>>>>>>> Anaconda >>>>>>>>>> is >>>>>>>>>> available for Windows - would that mean that yt might "just >>>>>>>>>> work" >>>>>>>>>> on >>>>>>>>>> Windows? Or the opposite, and it would require a great deal >>>>>>>>>> of >>>>>>>>>> effort >>>>>>>>>> to get all the various things we expect to be .so's to work >>>>>>>>>> as >>>>>>>>>> .dll's >>>>>>>>>> (such as the Cython helpers or halo-finding stuff)? >>>>>>>>>> >>>>>>>>>> I don't know the answers to these questions, but I think >>>>>>>>>> it's >>>>>>>>>> worth >>>>>>>>>> thinking about. >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Stephen Skory >>>>>>>>>> s@skory.us >>>>>>>>>> http://stephenskory.com/ >>>>>>>>>> 510.621.3687 (google voice) >>>>>>>>>> _______________________________________________ >>>>>>>>>> yt-dev mailing list >>>>>>>>>> yt-dev@lists.spacepope.org >>>>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> yt-dev mailing list >>>>>>>>> yt-dev@lists.spacepope.org >>>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> yt-dev mailing list >>>>>>>> yt-dev@lists.spacepope.org >>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> yt-dev mailing list >>>>>>> yt-dev@lists.spacepope.org >>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> yt-dev mailing list >>>>>> yt-dev@lists.spacepope.org >>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> yt-dev mailing list >>>>> yt-dev@lists.spacepope.org >>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>> >>>> >>>> >>>> _______________________________________________ >>>> yt-dev mailing list >>>> yt-dev@lists.spacepope.org >>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>> >>> >>> >>> _______________________________________________ >>> yt-dev mailing list >>> yt-dev@lists.spacepope.org >>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>> >> >> >> _______________________________________________ >> yt-dev mailing list >> yt-dev@lists.spacepope.org >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >> > _______________________________________________ > yt-dev mailing list > yt-dev@lists.spacepope.org > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/519d491fa9fe7dfd0caf0f0a9c2ca61e.jpg?s=120&d=mm&r=g)
I tried installing this script on Pleiades but had the same problem as Matt, with the requirement of the chrpath package. Of course, on Pleiades we don't have the option of installing it ourselves. Thoughts, besides asking them to install it? I guess that might be the only option. On Sep 7, 2013, at 1:27 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
The yt-dev recipe I created would only be good for nightly binary builds. I think that would only be useful for people who want the latest and greatest but don't want to set up a build environment, which I suspect is a relatively small group of people. We'll have to decide at some other point if we want to have buildbots and nightly builds.
Agreed about updating our documentation and website. I think we should supply both the script and instructions for setting up yt using `pip` and already-installed conda packages. We should also link to a page that lists the packages needed to manually set up yt.
On Sat, Sep 7, 2013 at 8:22 AM, Matthew Turk <matthewturk@gmail.com> wrote: Hi all,
I've issued a PR with my first pass at the get_yt.sh script. I've ported over a bunch of functionality from the old install_script.sh and it works for me in a clean install on Ubuntu, although it does require the "chrpath" package which I oddly did not have.
https://bitbucket.org/yt_analysis/yt/pull-request/591/first-draft-of-a-new-g...
What would be really helpful is if a few people could try it out, make modifications, commit, push to their fork, and I will then pull in those changes until it does everything it needs to. I think what I would like to preserve is that the "get_yt.sh" script should *not* be about how to install Conda/Anaconda -- it should get yt installed, and the yt environment. The case of installing yt *into* Conda is what I'd like to cover by providing binary packages, and I suspect that our audience for that will grow with time. This script aims along a slightly different vector.
I'm still not entirely sure how to handle source distributions; even with the yt-dev recipe Nathan has, it's still building binary packages. I've done my best to include the source as-is in the script, but to also use the yt recipe that Nathan has worked on. I'm not sure how the "yt-dev" recipe fits into that. Kacper, Nathan, any ideas about that? Would it just be the basic nightly package builder? Then we could have it get rebuild and reuploaded all the time; this would help with keeping people up to date, but *not* with encouraging contributions.
-Matt
PS One last thing is that our whole "get yt" documentation should be re-done. We should be much more clear about how and where to get the package, and reduce the number of options.
On Fri, Sep 6, 2013 at 9:08 AM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi Nathan,
On Wed, Sep 4, 2013 at 2:54 AM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Here's an updated version of the shell script Matt sent out earlier today that builds yt and then installs it based on the yt-conda recipe: http://paste.yt-project.org/show/3848/
I like this a lot and think it can be improved in several simple ways, most of which can be readily scraped from the install script:
Me too. This is much improved over mine.
* Install in the folder that the script was invoked in rather than $HOME
Good idea.
* Add an option to install anaconda with a warning about needing a couple hundred megabytes of space
Excellent! I like this a lot. And, we should point to the Anaconda page for more info about packages and how Anaconda works.
* Install the miniconda package appropriate for the platform * Add warnings on various platforms regarding needed packages and compilers (i.e. still need build-essentials on ubuntu and Xcode on OSX). * Add a warning at the end about modifying .bashrc for PATH and LD_LIBRARY_PATH or supply an activate script that sets them for us.
I think I'd prefer to supply an activate script that both activates Conda *and* the yt environment in it. That way individuals who want to use Conda directly can do so, but we also make it possible to keep the behavior that people have already.
* Clone yt-doc, yt-supplemental and the main yt repo and put them in the yt-conda directory.
Agreed.
* Check if conda is already available and (optionally?) skip the miniconda step.
I'm not sure about this, since I think we will then just tell people to install their own yt. I think the install script should not be *too* complex in this regard.
* Ensure the user that yt loves them.
Yes.
As Matt suggested on a Conda github issue (https://github.com/ContinuumIO/conda/issues/176#issuecomment-23753101) it would be nice to first try to conda install yt and then if that fails use conda build. I think it should be possible to set this up as part of the bash script. As asmurer notes in the issue, general support for this sort of mixed binary/source distribution in conda might be difficult but with yt it works since our setup script is platform agnostic so long as the compilation environment is set up correctly and we don't even try to work correctly on windows.
So long as we provide binary yt packages of (at least) the stable releases, this should obviate the need for proper compiler setup, which avoid a significant source of pain for OS X users as well as linux users on platforms like ubuntu that don't provide sane build environments out of the box.
-Nathan
Awesome work, and I am getting more excited about this as time goes on. I am going to try my hand at updating the new script in the way you mentioned, and then I will try checking it into the repo and issue a PR so we can iterate there. I hope to get to this by tomorrow morning.
-Matt
On Tue, Sep 3, 2013 at 12:28 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi Nathan,
On Tue, Sep 3, 2013 at 3:10 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
John, can you give a little more info on that error? I'm a little concerned that there are binary incompatibilities that conda can't resolve. Perhaps this is something we should report on the conda issue tracker.
Matt, can't we get the recipes in the same way we get the latest dev install script? Something like:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/yt/meta.yaml
This doesn't currently work, although it does work for the yt repo, I think because we use named branches in that repository.
Yup -- you can do it like this:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/default/yt/meta.yaml
...although for me right now it's failing from a bad BB certificate.
The only problem with "pip install" is that it no longer lists pip installations inside the "conda list" or "conda update" outputs. This has been discussed recently on the mailing list for Anaconda:
https://groups.google.com/a/continuum.io/forum/?fromgroups#!topic/anaconda/w...
...but there has not yet been a resolution.
-Matt
On Tue, Sep 3, 2013 at 12:00 PM, John ZuHone <jzuhone@gmail.com> wrote:
Works fine for me on OS X x86_64.
On my Goddard-controlled Linux x86_64 server, everything worked fine except Mercurial, which I "conda install"-ed using the yt link, but the binary had an incompatibility which the glibc that was installed on the machine. Using pip to install Mercurial (which did it from source) was the workaround.
On Sep 3, 2013, at 2:54 PM, Matthew Turk <matthewturk@gmail.com> wrote:
> Hi all, > > Thanks to everybody who has reported back on testing. After some > talking both offline and on IRC, as well as here, I think we would > need to do the following things: > > * Make a single script that grabs the appropriate distribution of > miniconda and installs it. Right now I have a mechanism for doing > this, but it's currently tied to an architecture. > * Create a mechanism for installing all the packages we need. Nearly > all are available inside the Continuum repos. What we're hung up on > is that source installs require a "recipe", and transmitting the > recipe is where I don't have an idea of what to do. > * Test this out lots of places > * Clean up the edges in the (new) install script > * Move the old install script to maintenance mode > * Update all documentation to describe this and mothball other > methods of installation > > What would be nice: > > * Make available nightly builds of yt on several architectures using > binstar > * Utilize more of the packages included in conda elsewhere in yt, now > that we can! > > Here's my current recipe for get_yt.sh: > > http://paste.yt-project.org/show/3843/ > > (The config thing may get switched to include the --system argument, > to modify the "yt-conda" condarc.) The step that I'm most stuck on > is > getting the yt recipe to people. If we want to make it possible and > easy to build from source, we need to get the contents of a "conda > recipe" to people. They can then run "conda build ." in the > directory. Here are the recipes that we've been playing with: > > https://bitbucket.org/yt_analysis/yt_conda/src > > Basically, in get_yt.sh, to do from source instead of from binary we > need to insert a step at the end that downloads the recipes somehow > and then cd's into the right directory and builds them. The reason > this is tricky is that we often need to bootstrap ourselves; we can't > assume anything exists. We can download the .tar.bz2 of the current > tip of the repo, but it includes the hash in the directory name that > it extracts to. > > So I think what we need is a mechanism for getting the current state > of the repo, figuring out the name of the repo's directory, moves > into > it, and then builds. I believe that all/most of this becomes much, > much easier if hg gets included in Anaconda, which Nathan has > submitted a PR for. So hopefully that will be taken care of, but > until that time we can possibly figure something out. I'm not sure > that we have the resources to continually support binary nightly > builds in perpetuity for all the architectures that people run on, so > having source would be awesome. Plus, one of the biggest appeals of > how we distribute yt is that the source is included; I would very > much > not like to give this up. > > Thoughts? Has anyone else tested any of this out? > > -Matt > > On Tue, Sep 3, 2013 at 1:04 PM, Britton Smith > <brittonsmith@gmail.com> > wrote: >> Hi everyone, >> >> Sorry for chiming in late. I just moved when this thread began and >> do >> not >> have regular internet access. >> >> I really like this idea of conda, especially as a package manager >> that >> only >> optionally makes its own edits to your .bashrc. I have always >> really >> liked >> that the install script creates a clean python stack with basically >> everything a python user needs. I have on occasion suggested it to >> people >> just looking to use numpy and matploblib. It looks like conda will >> continue >> to provide this nice by-product, so I'm all for it. >> >> I won't be in a position to help with testing and such for another >> week >> or >> so when I get regular internet access, but I would be glad to do so >> then. >> >> Britton >> >> >> On Fri, Aug 30, 2013 at 9:29 PM, Nathan Goldbaum >> <nathan12343@gmail.com> >> wrote: >>> >>> Everything should be available now for 64 bit linux and OS X. >>> >>> >>> On Fri, Aug 30, 2013 at 10:52 AM, Chris Malone >>> <chris.m.malone@gmail.com> >>> wrote: >>>> >>>> Hi Nathan, >>>> >>>> That appears to work as it built the environment and `conda >>>> install >>>> ...` >>>> added packages to my environment. >>>> >>>> One mistake I made was that I originally downloaded the "latest" >>>> OS X >>>> build of Miniconda, but that happened to be Miniconda3, which is >>>> python 3 >>>> based. Trying to build the environment with that yields an error >>>> regarding >>>> incompatibility of yt and python3.3, as it should. >>>> >>>> Chris >>>> >>>> >>>> On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum >>>> <nathan12343@gmail.com> >>>> wrote: >>>>> >>>>> Hey Chris, >>>>> >>>>> I don't think mercurial is strictly necessary, can you try again >>>>> without >>>>> it? I think if Matt uploads a mercurial package for OS X this >>>>> won't >>>>> be an >>>>> issue. I'll send him an updated tarball. >>>>> >>>>> I submitted a mercurial recipe to conda-recipes yesterday >>>>> (https://github.com/ContinuumIO/conda-recipes/pull/14) so >>>>> hopefully >>>>> a >>>>> mercurial build will be included in future anaconda releases. >>>>> >>>>> >>>>> On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone >>>>> <chris.m.malone@gmail.com> wrote: >>>>>> >>>>>> I just tried setting this up on OS X 10.7.5 and failed when >>>>>> attempting >>>>>> to create the conda environment due to a missing mercurial >>>>>> package: >>>>>> >>>>>> $ conda create -n ytenv -c http://conda.binstar.org/yt_project >>>>>> yt >>>>>> mercurial ipython tornado pyzmq pygments jinja2 sphinx >>>>>> Error: No packages found matching: mercurial >>>>>> >>>>>> >>>>>> On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum >>>>>> <nathan12343@gmail.com> wrote: >>>>>>> >>>>>>> Yup, please try on OSX as well. If you make sure Matt's >>>>>>> binstar >>>>>>> is in >>>>>>> your .condarc, you should be able to get yt by doing 'conda >>>>>>> install yt'. >>>>>>> >>>>>>> I built the OSX binary on my laptop so I'd appreciate hearing >>>>>>> about >>>>>>> issues, particularly if there are issues on older OS X >>>>>>> releases. >>>>>>> >>>>>>> On Thursday, August 29, 2013, Matthew Turk wrote: >>>>>>>> >>>>>>>> Hi all, >>>>>>>> >>>>>>>> Thank you for the feedback -- I am glad there is some >>>>>>>> agreement >>>>>>>> about >>>>>>>> possible ways forward, and so I'm happy to try to use this as >>>>>>>> an >>>>>>>> opportunity to explore simpler, more reliable methods than the >>>>>>>> install >>>>>>>> script. >>>>>>>> >>>>>>>> This afternoon, I spent a bit of time with Conda, and I think >>>>>>>> it's >>>>>>>> quite nice. There are a few rough corners, particularly >>>>>>>> related >>>>>>>> to >>>>>>>> the binstar service, but it's so far pretty great. With >>>>>>>> Nathan's >>>>>>>> help, I was able to upload a yt-2.5.5 package for linux x86_64 >>>>>>>> and >>>>>>>> then install it. >>>>>>>> >>>>>>>> The workflow that seems to work: >>>>>>>> >>>>>>>> * Get miniconda: http://repo.continuum.io/miniconda/index.html >>>>>>>> * Run the installer for miniconda >>>>>>>> * Enter the conda environment and then install yt by doing >>>>>>>> "conda >>>>>>>> install yt -c http://conda.binstar.org/yt_project/ ". >>>>>>>> >>>>>>>> I think that this can likely all be stuck into a bash script. >>>>>>>> A >>>>>>>> simple, first pass at this is here: >>>>>>>> >>>>>>>> http://paste.yt-project.org/show/3833/ >>>>>>>> >>>>>>>> This right now only works on Linux x86_64, but getting it to >>>>>>>> work >>>>>>>> for >>>>>>>> other machines won't be too hard. I suspect we will be able >>>>>>>> to >>>>>>>> do >>>>>>>> nightlies very easily as well. If anyone out there has an >>>>>>>> x86_64 >>>>>>>> machine they wouldn't mind trying it on, that would be very >>>>>>>> helpful! >>>>>>>> I did find that once I ran this script, I had to actually >>>>>>>> prepend >>>>>>>> the >>>>>>>> PATH afterwards as well. This means doing: >>>>>>>> >>>>>>>> export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH >>>>>>>> export PATH=$HOME/yt-conda:$PATH >>>>>>>> source activate ytenv >>>>>>>> >>>>>>>> At that point, everything was set up and working for me. The >>>>>>>> miniconda install offers to add paths to .bashrc, but I don't >>>>>>>> think >>>>>>>> we >>>>>>>> should go down that route. That being said, this is also a >>>>>>>> possible >>>>>>>> point of friction. >>>>>>>> >>>>>>>> One nice thing is that this also completely works with the >>>>>>>> full >>>>>>>> anaconda; if someone wants everything that is in the anaconda >>>>>>>> install, >>>>>>>> they can even simply do "conda install anaconda" from the >>>>>>>> command >>>>>>>> line >>>>>>>> to get it. But the stripped down subset is the default. >>>>>>>> >>>>>>>> If anyone has a chance to try this out and has feedback, I'd >>>>>>>> greatly >>>>>>>> appreciate it! I think Nathan has done something very similar >>>>>>>> for >>>>>>>> OSX. I've also put a couple simple conda recipes here: >>>>>>>> https://bitbucket.org/yt_analysis/yt_conda which we can use as >>>>>>>> a >>>>>>>> basis >>>>>>>> for distributing builds and setting them up on buildbots and >>>>>>>> the >>>>>>>> like. >>>>>>>> I'm pretty optimistic about this. >>>>>>>> >>>>>>>> -Matt >>>>>>>> >>>>>>>> On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum >>>>>>>> <nathan12343@gmail.com> wrote: >>>>>>>>> I think to get everything working in a sustainable fashion, >>>>>>>>> we >>>>>>>>> would need >>>>>>>>> buildbots for all platform combinations that we want to >>>>>>>>> support, >>>>>>>>> so >>>>>>>>> all >>>>>>>>> permutations of the (32/64 bit, linux / OS X / windows, >>>>>>>>> py27/py3.3) tuple. >>>>>>>>> At the moment anaconda seems to support 32 and 64 bit linux, >>>>>>>>> 64 >>>>>>>>> bit >>>>>>>>> OS X >>>>>>>>> (not totally clear if OS X version matters), and 32 and 64 >>>>>>>>> bit >>>>>>>>> windows. >>>>>>>>> >>>>>>>>> Another option is to rely on conda build, which compiles >>>>>>>>> everything >>>>>>>>> from >>>>>>>>> source. >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> >>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> Hi all, >>>>>>>>>> >>>>>>>>>> I have less of a skin in this than I used to, but I'd like >>>>>>>>>> to >>>>>>>>>> raise >>>>>>>>>> the issue of Windows & package managers. For example, >>>>>>>>>> Anaconda >>>>>>>>>> is >>>>>>>>>> available for Windows - would that mean that yt might "just >>>>>>>>>> work" >>>>>>>>>> on >>>>>>>>>> Windows? Or the opposite, and it would require a great deal >>>>>>>>>> of >>>>>>>>>> effort >>>>>>>>>> to get all the various things we expect to be .so's to work >>>>>>>>>> as >>>>>>>>>> .dll's >>>>>>>>>> (such as the Cython helpers or halo-finding stuff)? >>>>>>>>>> >>>>>>>>>> I don't know the answers to these questions, but I think >>>>>>>>>> it's >>>>>>>>>> worth >>>>>>>>>> thinking about. >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Stephen Skory >>>>>>>>>> s@skory.us >>>>>>>>>> http://stephenskory.com/ >>>>>>>>>> 510.621.3687 (google voice) >>>>>>>>>> _______________________________________________ >>>>>>>>>> yt-dev mailing list >>>>>>>>>> yt-dev@lists.spacepope.org >>>>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> yt-dev mailing list >>>>>>>>> yt-dev@lists.spacepope.org >>>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> yt-dev mailing list >>>>>>>> yt-dev@lists.spacepope.org >>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> yt-dev mailing list >>>>>>> yt-dev@lists.spacepope.org >>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> yt-dev mailing list >>>>>> yt-dev@lists.spacepope.org >>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> yt-dev mailing list >>>>> yt-dev@lists.spacepope.org >>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>> >>>> >>>> >>>> _______________________________________________ >>>> yt-dev mailing list >>>> yt-dev@lists.spacepope.org >>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>> >>> >>> >>> _______________________________________________ >>> yt-dev mailing list >>> yt-dev@lists.spacepope.org >>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>> >> >> >> _______________________________________________ >> yt-dev mailing list >> yt-dev@lists.spacepope.org >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >> > _______________________________________________ > yt-dev mailing list > yt-dev@lists.spacepope.org > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/7857f26c1ef2e9bdbfa843f9087710f7.jpg?s=120&d=mm&r=g)
Hmm, that's a good point. chrpath is pretty minimal - we could always build it ourselves and put it in $YT_CONDA/bin if it isn't already available. On Tue, Sep 10, 2013 at 9:33 AM, John ZuHone <jzuhone@gmail.com> wrote:
I tried installing this script on Pleiades but had the same problem as Matt, with the requirement of the chrpath package. Of course, on Pleiades we don't have the option of installing it ourselves. Thoughts, besides asking them to install it? I guess that might be the only option.
On Sep 7, 2013, at 1:27 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
The yt-dev recipe I created would only be good for nightly binary builds. I think that would only be useful for people who want the latest and greatest but don't want to set up a build environment, which I suspect is a relatively small group of people. We'll have to decide at some other point if we want to have buildbots and nightly builds.
Agreed about updating our documentation and website. I think we should supply both the script and instructions for setting up yt using `pip` and already-installed conda packages. We should also link to a page that lists the packages needed to manually set up yt.
On Sat, Sep 7, 2013 at 8:22 AM, Matthew Turk <matthewturk@gmail.com>wrote:
Hi all,
I've issued a PR with my first pass at the get_yt.sh script. I've ported over a bunch of functionality from the old install_script.sh and it works for me in a clean install on Ubuntu, although it does require the "chrpath" package which I oddly did not have.
https://bitbucket.org/yt_analysis/yt/pull-request/591/first-draft-of-a-new-g...
What would be really helpful is if a few people could try it out, make modifications, commit, push to their fork, and I will then pull in those changes until it does everything it needs to. I think what I would like to preserve is that the "get_yt.sh" script should *not* be about how to install Conda/Anaconda -- it should get yt installed, and the yt environment. The case of installing yt *into* Conda is what I'd like to cover by providing binary packages, and I suspect that our audience for that will grow with time. This script aims along a slightly different vector.
I'm still not entirely sure how to handle source distributions; even with the yt-dev recipe Nathan has, it's still building binary packages. I've done my best to include the source as-is in the script, but to also use the yt recipe that Nathan has worked on. I'm not sure how the "yt-dev" recipe fits into that. Kacper, Nathan, any ideas about that? Would it just be the basic nightly package builder? Then we could have it get rebuild and reuploaded all the time; this would help with keeping people up to date, but *not* with encouraging contributions.
-Matt
PS One last thing is that our whole "get yt" documentation should be re-done. We should be much more clear about how and where to get the package, and reduce the number of options.
Hi Nathan,
On Wed, Sep 4, 2013 at 2:54 AM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Here's an updated version of the shell script Matt sent out earlier today that builds yt and then installs it based on the yt-conda recipe: http://paste.yt-project.org/show/3848/
I like this a lot and think it can be improved in several simple ways, most of which can be readily scraped from the install script:
Me too. This is much improved over mine.
* Install in the folder that the script was invoked in rather than
$HOME
Good idea.
* Add an option to install anaconda with a warning about needing a couple hundred megabytes of space
Excellent! I like this a lot. And, we should point to the Anaconda page for more info about packages and how Anaconda works.
* Install the miniconda package appropriate for the platform * Add warnings on various platforms regarding needed packages and compilers (i.e. still need build-essentials on ubuntu and Xcode on
OSX).
* Add a warning at the end about modifying .bashrc for PATH and LD_LIBRARY_PATH or supply an activate script that sets them for us.
I think I'd prefer to supply an activate script that both activates Conda *and* the yt environment in it. That way individuals who want to use Conda directly can do so, but we also make it possible to keep the behavior that people have already.
* Clone yt-doc, yt-supplemental and the main yt repo and put them
in the
yt-conda directory.
Agreed.
* Check if conda is already available and (optionally?) skip the miniconda step.
I'm not sure about this, since I think we will then just tell people to install their own yt. I think the install script should not be *too* complex in this regard.
* Ensure the user that yt loves them.
Yes.
As Matt suggested on a Conda github issue (https://github.com/ContinuumIO/conda/issues/176#issuecomment-23753101)
it
would be nice to first try to conda install yt and then if that fails use conda build. I think it should be possible to set this up as part of
bash script. As asmurer notes in the issue, general support for this sort of mixed binary/source distribution in conda might be difficult but with yt it works since our setup script is platform agnostic so long as the compilation environment is set up correctly and we don't even try to work correctly on windows.
So long as we provide binary yt packages of (at least) the stable releases, this should obviate the need for proper compiler setup, which avoid a significant source of pain for OS X users as well as linux users on platforms like ubuntu that don't provide sane build environments out of the box.
-Nathan
Awesome work, and I am getting more excited about this as time goes on. I am going to try my hand at updating the new script in the way you mentioned, and then I will try checking it into the repo and issue a PR so we can iterate there. I hope to get to this by tomorrow morning.
-Matt
On Tue, Sep 3, 2013 at 12:28 PM, Matthew Turk <matthewturk@gmail.com>
wrote:
Hi Nathan,
On Tue, Sep 3, 2013 at 3:10 PM, Nathan Goldbaum <
nathan12343@gmail.com>
wrote:
John, can you give a little more info on that error? I'm a little concerned that there are binary incompatibilities that conda can't resolve. Perhaps this is something we should report on the conda issue tracker.
Matt, can't we get the recipes in the same way we get the latest dev install script? Something like:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/yt/meta.yaml
This doesn't currently work, although it does work for the yt repo, I think because we use named branches in that repository.
Yup -- you can do it like this:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/default/yt/meta.yaml
...although for me right now it's failing from a bad BB certificate.
The only problem with "pip install" is that it no longer lists pip installations inside the "conda list" or "conda update" outputs. This has been discussed recently on the mailing list for Anaconda:
https://groups.google.com/a/continuum.io/forum/?fromgroups#!topic/anaconda/w...
...but there has not yet been a resolution.
-Matt
On Tue, Sep 3, 2013 at 12:00 PM, John ZuHone <jzuhone@gmail.com>
wrote:
> > Works fine for me on OS X x86_64. > > On my Goddard-controlled Linux x86_64 server, everything worked fine > except Mercurial, which I "conda install"-ed using the yt link, but the > binary had an incompatibility which the glibc that was installed on the > machine. Using pip to install Mercurial (which did it from source) was > the > workaround. > > On Sep 3, 2013, at 2:54 PM, Matthew Turk <matthewturk@gmail.com> wrote: > > > Hi all, > > > > Thanks to everybody who has reported back on testing. After some > > talking both offline and on IRC, as well as here, I think we would > > need to do the following things: > > > > * Make a single script that grabs the appropriate distribution of > > miniconda and installs it. Right now I have a mechanism for doing > > this, but it's currently tied to an architecture. > > * Create a mechanism for installing all the packages we need. Nearly > > all are available inside the Continuum repos. What we're hung up on > > is that source installs require a "recipe", and transmitting the > > recipe is where I don't have an idea of what to do. > > * Test this out lots of places > > * Clean up the edges in the (new) install script > > * Move the old install script to maintenance mode > > * Update all documentation to describe this and mothball other > > methods of installation > > > > What would be nice: > > > > * Make available nightly builds of yt on several architectures using > > binstar > > * Utilize more of the packages included in conda elsewhere in yt, now > > that we can! > > > > Here's my current recipe for get_yt.sh: > > > > http://paste.yt-project.org/show/3843/ > > > > (The config thing may get switched to include the --system argument, > > to modify the "yt-conda" condarc.) The step that I'm most stuck on > > is > > getting the yt recipe to people. If we want to make it possible and > > easy to build from source, we need to get the contents of a "conda > > recipe" to people. They can then run "conda build ." in the > > directory. Here are the recipes that we've been playing with: > > > > https://bitbucket.org/yt_analysis/yt_conda/src > > > > Basically, in get_yt.sh, to do from source instead of from binary we > > need to insert a step at the end that downloads the recipes somehow > > and then cd's into the right directory and builds them. The reason > > this is tricky is that we often need to bootstrap ourselves; we can't > > assume anything exists. We can download the .tar.bz2 of the current > > tip of the repo, but it includes the hash in the directory name
> > it extracts to. > > > > So I think what we need is a mechanism for getting the current state > > of the repo, figuring out the name of the repo's directory, moves > > into > > it, and then builds. I believe that all/most of this becomes much, > > much easier if hg gets included in Anaconda, which Nathan has > > submitted a PR for. So hopefully that will be taken care of, but > > until that time we can possibly figure something out. I'm not sure > > that we have the resources to continually support binary nightly > > builds in perpetuity for all the architectures that people run on, so > > having source would be awesome. Plus, one of the biggest appeals of > > how we distribute yt is that the source is included; I would very > > much > > not like to give this up. > > > > Thoughts? Has anyone else tested any of this out? > > > > -Matt > > > > On Tue, Sep 3, 2013 at 1:04 PM, Britton Smith > > <brittonsmith@gmail.com> > > wrote: > >> Hi everyone, > >> > >> Sorry for chiming in late. I just moved when this thread began and > >> do > >> not > >> have regular internet access. > >> > >> I really like this idea of conda, especially as a package manager > >> that > >> only > >> optionally makes its own edits to your .bashrc. I have always > >> really > >> liked > >> that the install script creates a clean python stack with basically > >> everything a python user needs. I have on occasion suggested it to > >> people > >> just looking to use numpy and matploblib. It looks like conda will > >> continue > >> to provide this nice by-product, so I'm all for it. > >> > >> I won't be in a position to help with testing and such for another > >> week > >> or > >> so when I get regular internet access, but I would be glad to do so > >> then. > >> > >> Britton > >> > >> > >> On Fri, Aug 30, 2013 at 9:29 PM, Nathan Goldbaum > >> <nathan12343@gmail.com> > >> wrote: > >>> > >>> Everything should be available now for 64 bit linux and OS X. > >>> > >>> > >>> On Fri, Aug 30, 2013 at 10:52 AM, Chris Malone > >>> <chris.m.malone@gmail.com> > >>> wrote: > >>>> > >>>> Hi Nathan, > >>>> > >>>> That appears to work as it built the environment and `conda > >>>> install > >>>> ...` > >>>> added packages to my environment. > >>>> > >>>> One mistake I made was that I originally downloaded the "latest" > >>>> OS X > >>>> build of Miniconda, but that happened to be Miniconda3, which is > >>>> python 3 > >>>> based. Trying to build the environment with that yields an error > >>>> regarding > >>>> incompatibility of yt and python3.3, as it should. > >>>> > >>>> Chris > >>>> > >>>> > >>>> On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum > >>>> <nathan12343@gmail.com> > >>>> wrote: > >>>>> > >>>>> Hey Chris, > >>>>> > >>>>> I don't think mercurial is strictly necessary, can you try again > >>>>> without > >>>>> it? I think if Matt uploads a mercurial package for OS X
> >>>>> won't > >>>>> be an > >>>>> issue. I'll send him an updated tarball. > >>>>> > >>>>> I submitted a mercurial recipe to conda-recipes yesterday > >>>>> (https://github.com/ContinuumIO/conda-recipes/pull/14) so > >>>>> hopefully > >>>>> a > >>>>> mercurial build will be included in future anaconda releases. > >>>>> > >>>>> > >>>>> On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone > >>>>> <chris.m.malone@gmail.com> wrote: > >>>>>> > >>>>>> I just tried setting this up on OS X 10.7.5 and failed when > >>>>>> attempting > >>>>>> to create the conda environment due to a missing mercurial > >>>>>> package: > >>>>>> > >>>>>> $ conda create -n ytenv -c http://conda.binstar.org/yt_project > >>>>>> yt > >>>>>> mercurial ipython tornado pyzmq pygments jinja2 sphinx > >>>>>> Error: No packages found matching: mercurial > >>>>>> > >>>>>> > >>>>>> On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum > >>>>>> <nathan12343@gmail.com> wrote: > >>>>>>> > >>>>>>> Yup, please try on OSX as well. If you make sure Matt's > >>>>>>> binstar > >>>>>>> is in > >>>>>>> your .condarc, you should be able to get yt by doing 'conda > >>>>>>> install yt'. > >>>>>>> > >>>>>>> I built the OSX binary on my laptop so I'd appreciate hearing > >>>>>>> about > >>>>>>> issues, particularly if there are issues on older OS X > >>>>>>> releases. > >>>>>>> > >>>>>>> On Thursday, August 29, 2013, Matthew Turk wrote: > >>>>>>>> > >>>>>>>> Hi all, > >>>>>>>> > >>>>>>>> Thank you for the feedback -- I am glad there is some > >>>>>>>> agreement > >>>>>>>> about > >>>>>>>> possible ways forward, and so I'm happy to try to use
> >>>>>>>> an > >>>>>>>> opportunity to explore simpler, more reliable methods
> >>>>>>>> install > >>>>>>>> script. > >>>>>>>> > >>>>>>>> This afternoon, I spent a bit of time with Conda, and I
> >>>>>>>> it's > >>>>>>>> quite nice. There are a few rough corners, particularly > >>>>>>>> related > >>>>>>>> to > >>>>>>>> the binstar service, but it's so far pretty great. With > >>>>>>>> Nathan's > >>>>>>>> help, I was able to upload a yt-2.5.5 package for linux x86_64 > >>>>>>>> and > >>>>>>>> then install it. > >>>>>>>> > >>>>>>>> The workflow that seems to work: > >>>>>>>> > >>>>>>>> * Get miniconda: http://repo.continuum.io/miniconda/index.html > >>>>>>>> * Run the installer for miniconda > >>>>>>>> * Enter the conda environment and then install yt by doing > >>>>>>>> "conda > >>>>>>>> install yt -c http://conda.binstar.org/yt_project/ ". > >>>>>>>> > >>>>>>>> I think that this can likely all be stuck into a bash
> >>>>>>>> A > >>>>>>>> simple, first pass at this is here: > >>>>>>>> > >>>>>>>> http://paste.yt-project.org/show/3833/ > >>>>>>>> > >>>>>>>> This right now only works on Linux x86_64, but getting it to > >>>>>>>> work > >>>>>>>> for > >>>>>>>> other machines won't be too hard. I suspect we will be able > >>>>>>>> to > >>>>>>>> do > >>>>>>>> nightlies very easily as well. If anyone out there has an > >>>>>>>> x86_64 > >>>>>>>> machine they wouldn't mind trying it on, that would be very > >>>>>>>> helpful! > >>>>>>>> I did find that once I ran this script, I had to actually > >>>>>>>> prepend > >>>>>>>> the > >>>>>>>> PATH afterwards as well. This means doing: > >>>>>>>> > >>>>>>>> export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH > >>>>>>>> export PATH=$HOME/yt-conda:$PATH > >>>>>>>> source activate ytenv > >>>>>>>> > >>>>>>>> At that point, everything was set up and working for me. The > >>>>>>>> miniconda install offers to add paths to .bashrc, but I don't > >>>>>>>> think > >>>>>>>> we > >>>>>>>> should go down that route. That being said, this is also a > >>>>>>>> possible > >>>>>>>> point of friction. > >>>>>>>> > >>>>>>>> One nice thing is that this also completely works with the > >>>>>>>> full > >>>>>>>> anaconda; if someone wants everything that is in the anaconda > >>>>>>>> install, > >>>>>>>> they can even simply do "conda install anaconda" from the > >>>>>>>> command > >>>>>>>> line > >>>>>>>> to get it. But the stripped down subset is the default. > >>>>>>>> > >>>>>>>> If anyone has a chance to try this out and has feedback, I'd > >>>>>>>> greatly > >>>>>>>> appreciate it! I think Nathan has done something very similar > >>>>>>>> for > >>>>>>>> OSX. I've also put a couple simple conda recipes here: > >>>>>>>> https://bitbucket.org/yt_analysis/yt_conda which we can use as > >>>>>>>> a > >>>>>>>> basis > >>>>>>>> for distributing builds and setting them up on buildbots and > >>>>>>>> the > >>>>>>>> like. > >>>>>>>> I'm pretty optimistic about this. > >>>>>>>> > >>>>>>>> -Matt > >>>>>>>> > >>>>>>>> On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum > >>>>>>>> <nathan12343@gmail.com> wrote: > >>>>>>>>> I think to get everything working in a sustainable fashion, > >>>>>>>>> we > >>>>>>>>> would need > >>>>>>>>> buildbots for all platform combinations that we want to > >>>>>>>>> support, > >>>>>>>>> so > >>>>>>>>> all > >>>>>>>>> permutations of the (32/64 bit, linux / OS X / windows, > >>>>>>>>> py27/py3.3) tuple. > >>>>>>>>> At the moment anaconda seems to support 32 and 64 bit
> >>>>>>>>> 64 > >>>>>>>>> bit > >>>>>>>>> OS X > >>>>>>>>> (not totally clear if OS X version matters), and 32 and 64 > >>>>>>>>> bit > >>>>>>>>> windows. > >>>>>>>>> > >>>>>>>>> Another option is to rely on conda build, which compiles > >>>>>>>>> everything > >>>>>>>>> from > >>>>>>>>> source. > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory < s@skory.us> > >>>>>>>>> wrote: > >>>>>>>>>> > >>>>>>>>>> Hi all, > >>>>>>>>>> > >>>>>>>>>> I have less of a skin in this than I used to, but I'd
On Fri, Sep 6, 2013 at 9:08 AM, Matthew Turk <matthewturk@gmail.com> wrote: the that this this as than the think script. linux, like
> >>>>>>>>>> to > >>>>>>>>>> raise > >>>>>>>>>> the issue of Windows & package managers. For example, > >>>>>>>>>> Anaconda > >>>>>>>>>> is > >>>>>>>>>> available for Windows - would that mean that yt might "just > >>>>>>>>>> work" > >>>>>>>>>> on > >>>>>>>>>> Windows? Or the opposite, and it would require a great deal > >>>>>>>>>> of > >>>>>>>>>> effort > >>>>>>>>>> to get all the various things we expect to be .so's to work > >>>>>>>>>> as > >>>>>>>>>> .dll's > >>>>>>>>>> (such as the Cython helpers or halo-finding stuff)? > >>>>>>>>>> > >>>>>>>>>> I don't know the answers to these questions, but I think > >>>>>>>>>> it's > >>>>>>>>>> worth > >>>>>>>>>> thinking about. > >>>>>>>>>> > >>>>>>>>>> -- > >>>>>>>>>> Stephen Skory > >>>>>>>>>> s@skory.us > >>>>>>>>>> http://stephenskory.com/ > >>>>>>>>>> 510.621.3687 (google voice) > >>>>>>>>>> _______________________________________________ > >>>>>>>>>> yt-dev mailing list > >>>>>>>>>> yt-dev@lists.spacepope.org > >>>>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> _______________________________________________ > >>>>>>>>> yt-dev mailing list > >>>>>>>>> yt-dev@lists.spacepope.org > >>>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > >>>>>>>>> > >>>>>>>> _______________________________________________ > >>>>>>>> yt-dev mailing list > >>>>>>>> yt-dev@lists.spacepope.org > >>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > >>>>>>> > >>>>>>> > >>>>>>> _______________________________________________ > >>>>>>> yt-dev mailing list > >>>>>>> yt-dev@lists.spacepope.org > >>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > >>>>>>> > >>>>>> > >>>>>> > >>>>>> _______________________________________________ > >>>>>> yt-dev mailing list > >>>>>> yt-dev@lists.spacepope.org > >>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > >>>>>> > >>>>> > >>>>> > >>>>> _______________________________________________ > >>>>> yt-dev mailing list > >>>>> yt-dev@lists.spacepope.org > >>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > >>>>> > >>>> > >>>> > >>>> _______________________________________________ > >>>> yt-dev mailing list > >>>> yt-dev@lists.spacepope.org > >>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > >>>> > >>> > >>> > >>> _______________________________________________ > >>> yt-dev mailing list > >>> yt-dev@lists.spacepope.org > >>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > >>> > >> > >> > >> _______________________________________________ > >> yt-dev mailing list > >> yt-dev@lists.spacepope.org > >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > >> > > _______________________________________________ > > yt-dev mailing list > > yt-dev@lists.spacepope.org > > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > > _______________________________________________ > yt-dev mailing list > yt-dev@lists.spacepope.org > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/519d491fa9fe7dfd0caf0f0a9c2ca61e.jpg?s=120&d=mm&r=g)
Hi Nathan and all, Here's a little more info on that error you asked about regarding glibc. It came up again for me on Pleiades, this time with yt itself. Traceback (most recent call last): File "/u/jzuhone/anaconda/bin/yt", line 4, in <module> from yt.utilities.command_line import run_main File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/command_line.py", line 29, in <module> from yt.mods import * File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/mods.py", line 60, in <module> from yt.data_objects.api import \ File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/api.py", line 31, in <module> from grid_patch import \ File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/grid_patch.py", line 35, in <module> from yt.data_objects.data_containers import YTFieldData File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/data_containers.py", line 45, in <module> from yt.data_objects.derived_quantities import GridChildMaskWrapper File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/derived_quantities.py", line 36, in <module> from yt.utilities.parallel_tools.parallel_analysis_interface import \ File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/parallel_tools/parallel_analysis_interface.py", line 39, in <module> from yt.utilities.lib import \ File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/__init__.py", line 35, in <module> from .png_writer import * ImportError: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/png_writer.so) Best, John On Sep 3, 2013, at 3:10 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
John, can you give a little more info on that error? I'm a little concerned that there are binary incompatibilities that conda can't resolve. Perhaps this is something we should report on the conda issue tracker.
Matt, can't we get the recipes in the same way we get the latest dev install script? Something like:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/yt/meta.yaml
This doesn't currently work, although it does work for the yt repo, I think because we use named branches in that repository.
On Tue, Sep 3, 2013 at 12:00 PM, John ZuHone <jzuhone@gmail.com> wrote: Works fine for me on OS X x86_64.
On my Goddard-controlled Linux x86_64 server, everything worked fine except Mercurial, which I "conda install"-ed using the yt link, but the binary had an incompatibility which the glibc that was installed on the machine. Using pip to install Mercurial (which did it from source) was the workaround.
On Sep 3, 2013, at 2:54 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi all,
Thanks to everybody who has reported back on testing. After some talking both offline and on IRC, as well as here, I think we would need to do the following things:
* Make a single script that grabs the appropriate distribution of miniconda and installs it. Right now I have a mechanism for doing this, but it's currently tied to an architecture. * Create a mechanism for installing all the packages we need. Nearly all are available inside the Continuum repos. What we're hung up on is that source installs require a "recipe", and transmitting the recipe is where I don't have an idea of what to do. * Test this out lots of places * Clean up the edges in the (new) install script * Move the old install script to maintenance mode * Update all documentation to describe this and mothball other methods of installation
What would be nice:
* Make available nightly builds of yt on several architectures using binstar * Utilize more of the packages included in conda elsewhere in yt, now that we can!
Here's my current recipe for get_yt.sh:
http://paste.yt-project.org/show/3843/
(The config thing may get switched to include the --system argument, to modify the "yt-conda" condarc.) The step that I'm most stuck on is getting the yt recipe to people. If we want to make it possible and easy to build from source, we need to get the contents of a "conda recipe" to people. They can then run "conda build ." in the directory. Here are the recipes that we've been playing with:
https://bitbucket.org/yt_analysis/yt_conda/src
Basically, in get_yt.sh, to do from source instead of from binary we need to insert a step at the end that downloads the recipes somehow and then cd's into the right directory and builds them. The reason this is tricky is that we often need to bootstrap ourselves; we can't assume anything exists. We can download the .tar.bz2 of the current tip of the repo, but it includes the hash in the directory name that it extracts to.
So I think what we need is a mechanism for getting the current state of the repo, figuring out the name of the repo's directory, moves into it, and then builds. I believe that all/most of this becomes much, much easier if hg gets included in Anaconda, which Nathan has submitted a PR for. So hopefully that will be taken care of, but until that time we can possibly figure something out. I'm not sure that we have the resources to continually support binary nightly builds in perpetuity for all the architectures that people run on, so having source would be awesome. Plus, one of the biggest appeals of how we distribute yt is that the source is included; I would very much not like to give this up.
Thoughts? Has anyone else tested any of this out?
-Matt
On Tue, Sep 3, 2013 at 1:04 PM, Britton Smith <brittonsmith@gmail.com> wrote:
Hi everyone,
Sorry for chiming in late. I just moved when this thread began and do not have regular internet access.
I really like this idea of conda, especially as a package manager that only optionally makes its own edits to your .bashrc. I have always really liked that the install script creates a clean python stack with basically everything a python user needs. I have on occasion suggested it to people just looking to use numpy and matploblib. It looks like conda will continue to provide this nice by-product, so I'm all for it.
I won't be in a position to help with testing and such for another week or so when I get regular internet access, but I would be glad to do so then.
Britton
On Fri, Aug 30, 2013 at 9:29 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Everything should be available now for 64 bit linux and OS X.
On Fri, Aug 30, 2013 at 10:52 AM, Chris Malone <chris.m.malone@gmail.com> wrote:
Hi Nathan,
That appears to work as it built the environment and `conda install ...` added packages to my environment.
One mistake I made was that I originally downloaded the "latest" OS X build of Miniconda, but that happened to be Miniconda3, which is python 3 based. Trying to build the environment with that yields an error regarding incompatibility of yt and python3.3, as it should.
Chris
On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Hey Chris,
I don't think mercurial is strictly necessary, can you try again without it? I think if Matt uploads a mercurial package for OS X this won't be an issue. I'll send him an updated tarball.
I submitted a mercurial recipe to conda-recipes yesterday (https://github.com/ContinuumIO/conda-recipes/pull/14) so hopefully a mercurial build will be included in future anaconda releases.
On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone <chris.m.malone@gmail.com> wrote: > > I just tried setting this up on OS X 10.7.5 and failed when attempting > to create the conda environment due to a missing mercurial package: > > $ conda create -n ytenv -c http://conda.binstar.org/yt_project yt > mercurial ipython tornado pyzmq pygments jinja2 sphinx > Error: No packages found matching: mercurial > > > On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum > <nathan12343@gmail.com> wrote: >> >> Yup, please try on OSX as well. If you make sure Matt's binstar is in >> your .condarc, you should be able to get yt by doing 'conda install yt'. >> >> I built the OSX binary on my laptop so I'd appreciate hearing about >> issues, particularly if there are issues on older OS X releases. >> >> On Thursday, August 29, 2013, Matthew Turk wrote: >>> >>> Hi all, >>> >>> Thank you for the feedback -- I am glad there is some agreement about >>> possible ways forward, and so I'm happy to try to use this as an >>> opportunity to explore simpler, more reliable methods than the >>> install >>> script. >>> >>> This afternoon, I spent a bit of time with Conda, and I think it's >>> quite nice. There are a few rough corners, particularly related to >>> the binstar service, but it's so far pretty great. With Nathan's >>> help, I was able to upload a yt-2.5.5 package for linux x86_64 and >>> then install it. >>> >>> The workflow that seems to work: >>> >>> * Get miniconda: http://repo.continuum.io/miniconda/index.html >>> * Run the installer for miniconda >>> * Enter the conda environment and then install yt by doing "conda >>> install yt -c http://conda.binstar.org/yt_project/ ". >>> >>> I think that this can likely all be stuck into a bash script. A >>> simple, first pass at this is here: >>> >>> http://paste.yt-project.org/show/3833/ >>> >>> This right now only works on Linux x86_64, but getting it to work for >>> other machines won't be too hard. I suspect we will be able to do >>> nightlies very easily as well. If anyone out there has an x86_64 >>> machine they wouldn't mind trying it on, that would be very helpful! >>> I did find that once I ran this script, I had to actually prepend the >>> PATH afterwards as well. This means doing: >>> >>> export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH >>> export PATH=$HOME/yt-conda:$PATH >>> source activate ytenv >>> >>> At that point, everything was set up and working for me. The >>> miniconda install offers to add paths to .bashrc, but I don't think >>> we >>> should go down that route. That being said, this is also a possible >>> point of friction. >>> >>> One nice thing is that this also completely works with the full >>> anaconda; if someone wants everything that is in the anaconda >>> install, >>> they can even simply do "conda install anaconda" from the command >>> line >>> to get it. But the stripped down subset is the default. >>> >>> If anyone has a chance to try this out and has feedback, I'd greatly >>> appreciate it! I think Nathan has done something very similar for >>> OSX. I've also put a couple simple conda recipes here: >>> https://bitbucket.org/yt_analysis/yt_conda which we can use as a >>> basis >>> for distributing builds and setting them up on buildbots and the >>> like. >>> I'm pretty optimistic about this. >>> >>> -Matt >>> >>> On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum >>> <nathan12343@gmail.com> wrote: >>>> I think to get everything working in a sustainable fashion, we >>>> would need >>>> buildbots for all platform combinations that we want to support, so >>>> all >>>> permutations of the (32/64 bit, linux / OS X / windows, >>>> py27/py3.3) tuple. >>>> At the moment anaconda seems to support 32 and 64 bit linux, 64 bit >>>> OS X >>>> (not totally clear if OS X version matters), and 32 and 64 bit >>>> windows. >>>> >>>> Another option is to rely on conda build, which compiles everything >>>> from >>>> source. >>>> >>>> >>>> On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> wrote: >>>>> >>>>> Hi all, >>>>> >>>>> I have less of a skin in this than I used to, but I'd like to >>>>> raise >>>>> the issue of Windows & package managers. For example, Anaconda is >>>>> available for Windows - would that mean that yt might "just work" >>>>> on >>>>> Windows? Or the opposite, and it would require a great deal of >>>>> effort >>>>> to get all the various things we expect to be .so's to work as >>>>> .dll's >>>>> (such as the Cython helpers or halo-finding stuff)? >>>>> >>>>> I don't know the answers to these questions, but I think it's >>>>> worth >>>>> thinking about. >>>>> >>>>> -- >>>>> Stephen Skory >>>>> s@skory.us >>>>> http://stephenskory.com/ >>>>> 510.621.3687 (google voice) >>>>> _______________________________________________ >>>>> yt-dev mailing list >>>>> yt-dev@lists.spacepope.org >>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>> >>>> >>>> >>>> _______________________________________________ >>>> yt-dev mailing list >>>> yt-dev@lists.spacepope.org >>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>> >>> _______________________________________________ >>> yt-dev mailing list >>> yt-dev@lists.spacepope.org >>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >> >> >> _______________________________________________ >> yt-dev mailing list >> yt-dev@lists.spacepope.org >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >> > > > _______________________________________________ > yt-dev mailing list > yt-dev@lists.spacepope.org > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/bbf1912c02dbb920e27ef0b9de0ba2ce.jpg?s=120&d=mm&r=g)
On 10.09.2013 18:54, John ZuHone wrote:
Hi Nathan and all,
Here's a little more info on that error you asked about regarding glibc. It came up again for me on Pleiades, this time with yt itself.
Traceback (most recent call last): File "/u/jzuhone/anaconda/bin/yt", line 4, in <module> from yt.utilities.command_line import run_main File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/command_line.py", line 29, in <module> from yt.mods import * File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/mods.py", line 60, in <module> from yt.data_objects.api import \ File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/api.py", line 31, in <module> from grid_patch import \ File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/grid_patch.py", line 35, in <module> from yt.data_objects.data_containers import YTFieldData File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/data_containers.py", line 45, in <module> from yt.data_objects.derived_quantities import GridChildMaskWrapper File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/derived_quantities.py", line 36, in <module> from yt.utilities.parallel_tools.parallel_analysis_interface import \ File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/parallel_tools/parallel_analysis_interface.py", line 39, in <module> from yt.utilities.lib import \ File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/__init__.py", line 35, in <module> from .png_writer import * ImportError: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/png_writer.so)
Best,
John
Hi John, to allow for binary compatibility on generic linux boxes we would need to provide our own packages build around conda on something old. SL6 (or SL5 even) seems to be a good choice. For now I think manually building chrpath if necessary and going with script from PR 591 should be the preferred way of installing yt in user restricted environment. BTW, We could add building chrpath to the script as it has no other dependencies. Cheers, Kacper
On Sep 3, 2013, at 3:10 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
John, can you give a little more info on that error? I'm a little concerned that there are binary incompatibilities that conda can't resolve. Perhaps this is something we should report on the conda issue tracker.
Matt, can't we get the recipes in the same way we get the latest dev install script? Something like:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/yt/meta.yaml
This doesn't currently work, although it does work for the yt repo, I think because we use named branches in that repository.
On Tue, Sep 3, 2013 at 12:00 PM, John ZuHone <jzuhone@gmail.com> wrote: Works fine for me on OS X x86_64.
On my Goddard-controlled Linux x86_64 server, everything worked fine except Mercurial, which I "conda install"-ed using the yt link, but the binary had an incompatibility which the glibc that was installed on the machine. Using pip to install Mercurial (which did it from source) was the workaround.
On Sep 3, 2013, at 2:54 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi all,
Thanks to everybody who has reported back on testing. After some talking both offline and on IRC, as well as here, I think we would need to do the following things:
* Make a single script that grabs the appropriate distribution of miniconda and installs it. Right now I have a mechanism for doing this, but it's currently tied to an architecture. * Create a mechanism for installing all the packages we need. Nearly all are available inside the Continuum repos. What we're hung up on is that source installs require a "recipe", and transmitting the recipe is where I don't have an idea of what to do. * Test this out lots of places * Clean up the edges in the (new) install script * Move the old install script to maintenance mode * Update all documentation to describe this and mothball other methods of installation
What would be nice:
* Make available nightly builds of yt on several architectures using binstar * Utilize more of the packages included in conda elsewhere in yt, now that we can!
Here's my current recipe for get_yt.sh:
http://paste.yt-project.org/show/3843/
(The config thing may get switched to include the --system argument, to modify the "yt-conda" condarc.) The step that I'm most stuck on is getting the yt recipe to people. If we want to make it possible and easy to build from source, we need to get the contents of a "conda recipe" to people. They can then run "conda build ." in the directory. Here are the recipes that we've been playing with:
https://bitbucket.org/yt_analysis/yt_conda/src
Basically, in get_yt.sh, to do from source instead of from binary we need to insert a step at the end that downloads the recipes somehow and then cd's into the right directory and builds them. The reason this is tricky is that we often need to bootstrap ourselves; we can't assume anything exists. We can download the .tar.bz2 of the current tip of the repo, but it includes the hash in the directory name that it extracts to.
So I think what we need is a mechanism for getting the current state of the repo, figuring out the name of the repo's directory, moves into it, and then builds. I believe that all/most of this becomes much, much easier if hg gets included in Anaconda, which Nathan has submitted a PR for. So hopefully that will be taken care of, but until that time we can possibly figure something out. I'm not sure that we have the resources to continually support binary nightly builds in perpetuity for all the architectures that people run on, so having source would be awesome. Plus, one of the biggest appeals of how we distribute yt is that the source is included; I would very much not like to give this up.
Thoughts? Has anyone else tested any of this out?
-Matt
On Tue, Sep 3, 2013 at 1:04 PM, Britton Smith <brittonsmith@gmail.com> wrote:
Hi everyone,
Sorry for chiming in late. I just moved when this thread began and do not have regular internet access.
I really like this idea of conda, especially as a package manager that only optionally makes its own edits to your .bashrc. I have always really liked that the install script creates a clean python stack with basically everything a python user needs. I have on occasion suggested it to people just looking to use numpy and matploblib. It looks like conda will continue to provide this nice by-product, so I'm all for it.
I won't be in a position to help with testing and such for another week or so when I get regular internet access, but I would be glad to do so then.
Britton
On Fri, Aug 30, 2013 at 9:29 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Everything should be available now for 64 bit linux and OS X.
On Fri, Aug 30, 2013 at 10:52 AM, Chris Malone <chris.m.malone@gmail.com> wrote:
Hi Nathan,
That appears to work as it built the environment and `conda install ...` added packages to my environment.
One mistake I made was that I originally downloaded the "latest" OS X build of Miniconda, but that happened to be Miniconda3, which is python 3 based. Trying to build the environment with that yields an error regarding incompatibility of yt and python3.3, as it should.
Chris
On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum <nathan12343@gmail.com> wrote: > > Hey Chris, > > I don't think mercurial is strictly necessary, can you try again without > it? I think if Matt uploads a mercurial package for OS X this won't be an > issue. I'll send him an updated tarball. > > I submitted a mercurial recipe to conda-recipes yesterday > (https://github.com/ContinuumIO/conda-recipes/pull/14) so hopefully a > mercurial build will be included in future anaconda releases. > > > On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone > <chris.m.malone@gmail.com> wrote: >> >> I just tried setting this up on OS X 10.7.5 and failed when attempting >> to create the conda environment due to a missing mercurial package: >> >> $ conda create -n ytenv -c http://conda.binstar.org/yt_project yt >> mercurial ipython tornado pyzmq pygments jinja2 sphinx >> Error: No packages found matching: mercurial >> >> >> On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum >> <nathan12343@gmail.com> wrote: >>> >>> Yup, please try on OSX as well. If you make sure Matt's binstar is in >>> your .condarc, you should be able to get yt by doing 'conda install yt'. >>> >>> I built the OSX binary on my laptop so I'd appreciate hearing about >>> issues, particularly if there are issues on older OS X releases. >>> >>> On Thursday, August 29, 2013, Matthew Turk wrote: >>>> >>>> Hi all, >>>> >>>> Thank you for the feedback -- I am glad there is some agreement about >>>> possible ways forward, and so I'm happy to try to use this as an >>>> opportunity to explore simpler, more reliable methods than the >>>> install >>>> script. >>>> >>>> This afternoon, I spent a bit of time with Conda, and I think it's >>>> quite nice. There are a few rough corners, particularly related to >>>> the binstar service, but it's so far pretty great. With Nathan's >>>> help, I was able to upload a yt-2.5.5 package for linux x86_64 and >>>> then install it. >>>> >>>> The workflow that seems to work: >>>> >>>> * Get miniconda: http://repo.continuum.io/miniconda/index.html >>>> * Run the installer for miniconda >>>> * Enter the conda environment and then install yt by doing "conda >>>> install yt -c http://conda.binstar.org/yt_project/ ". >>>> >>>> I think that this can likely all be stuck into a bash script. A >>>> simple, first pass at this is here: >>>> >>>> http://paste.yt-project.org/show/3833/ >>>> >>>> This right now only works on Linux x86_64, but getting it to work for >>>> other machines won't be too hard. I suspect we will be able to do >>>> nightlies very easily as well. If anyone out there has an x86_64 >>>> machine they wouldn't mind trying it on, that would be very helpful! >>>> I did find that once I ran this script, I had to actually prepend the >>>> PATH afterwards as well. This means doing: >>>> >>>> export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH >>>> export PATH=$HOME/yt-conda:$PATH >>>> source activate ytenv >>>> >>>> At that point, everything was set up and working for me. The >>>> miniconda install offers to add paths to .bashrc, but I don't think >>>> we >>>> should go down that route. That being said, this is also a possible >>>> point of friction. >>>> >>>> One nice thing is that this also completely works with the full >>>> anaconda; if someone wants everything that is in the anaconda >>>> install, >>>> they can even simply do "conda install anaconda" from the command >>>> line >>>> to get it. But the stripped down subset is the default. >>>> >>>> If anyone has a chance to try this out and has feedback, I'd greatly >>>> appreciate it! I think Nathan has done something very similar for >>>> OSX. I've also put a couple simple conda recipes here: >>>> https://bitbucket.org/yt_analysis/yt_conda which we can use as a >>>> basis >>>> for distributing builds and setting them up on buildbots and the >>>> like. >>>> I'm pretty optimistic about this. >>>> >>>> -Matt >>>> >>>> On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum >>>> <nathan12343@gmail.com> wrote: >>>>> I think to get everything working in a sustainable fashion, we >>>>> would need >>>>> buildbots for all platform combinations that we want to support, so >>>>> all >>>>> permutations of the (32/64 bit, linux / OS X / windows, >>>>> py27/py3.3) tuple. >>>>> At the moment anaconda seems to support 32 and 64 bit linux, 64 bit >>>>> OS X >>>>> (not totally clear if OS X version matters), and 32 and 64 bit >>>>> windows. >>>>> >>>>> Another option is to rely on conda build, which compiles everything >>>>> from >>>>> source. >>>>> >>>>> >>>>> On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> wrote: >>>>>> >>>>>> Hi all, >>>>>> >>>>>> I have less of a skin in this than I used to, but I'd like to >>>>>> raise >>>>>> the issue of Windows & package managers. For example, Anaconda is >>>>>> available for Windows - would that mean that yt might "just work" >>>>>> on >>>>>> Windows? Or the opposite, and it would require a great deal of >>>>>> effort >>>>>> to get all the various things we expect to be .so's to work as >>>>>> .dll's >>>>>> (such as the Cython helpers or halo-finding stuff)? >>>>>> >>>>>> I don't know the answers to these questions, but I think it's >>>>>> worth >>>>>> thinking about. >>>>>> >>>>>> -- >>>>>> Stephen Skory >>>>>> s@skory.us >>>>>> http://stephenskory.com/ >>>>>> 510.621.3687 (google voice) >>>>>> _______________________________________________ >>>>>> yt-dev mailing list >>>>>> yt-dev@lists.spacepope.org >>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> yt-dev mailing list >>>>> yt-dev@lists.spacepope.org >>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>> >>>> _______________________________________________ >>>> yt-dev mailing list >>>> yt-dev@lists.spacepope.org >>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>> >>> >>> _______________________________________________ >>> yt-dev mailing list >>> yt-dev@lists.spacepope.org >>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>> >> >> >> _______________________________________________ >> yt-dev mailing list >> yt-dev@lists.spacepope.org >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >> > > > _______________________________________________ > yt-dev mailing list > yt-dev@lists.spacepope.org > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/7857f26c1ef2e9bdbfa843f9087710f7.jpg?s=120&d=mm&r=g)
Hey John, A few questions: 1. What did you choose for INST_YT_SOURCE in get_yt.sh? If INST_YT_SOURCE=1, what happens when you try INST_YT_SOURCE=0? 2. Again, if you had INST_YT_SOURCE=1, when you manually run `setup.py install` in the yt source repository, it should print out a few lines showing the root directory for the PNG, Freetype, and HDF5 libraries it tries to link against. This should be the very first thing printed out by the setup script. Is it linking against anaconda's libraries or system libraries? 3. What's the output of `ldd /u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/png_writer.so`? I'm beginning to suspect that we cannot link against the libraries provided by anaconda unless we tailor our build environment to match the sort of gymnastics that `conda build` does to sanitize the build environment. Just yesterday I was having no end of grief trying to link against anaconda's hdf5 library. yt is able to link against this library inside a conda build environment, but when I try to link in my normal shell environment I run into issues - mostly because the OS X hdf5 library on anaconda was compiled on an OS X 10.5 machine. On Tue, Sep 10, 2013 at 9:54 AM, John ZuHone <jzuhone@gmail.com> wrote:
Hi Nathan and all,
Here's a little more info on that error you asked about regarding glibc. It came up again for me on Pleiades, this time with yt itself.
Traceback (most recent call last): File "/u/jzuhone/anaconda/bin/yt", line 4, in <module> from yt.utilities.command_line import run_main File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/command_line.py", line 29, in <module> from yt.mods import * File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/mods.py", line 60, in <module> from yt.data_objects.api import \ File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/api.py", line 31, in <module> from grid_patch import \ File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/grid_patch.py", line 35, in <module> from yt.data_objects.data_containers import YTFieldData File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/data_containers.py", line 45, in <module> from yt.data_objects.derived_quantities import GridChildMaskWrapper File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/derived_quantities.py", line 36, in <module> from yt.utilities.parallel_tools.parallel_analysis_interface import \ File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/parallel_tools/parallel_analysis_interface.py", line 39, in <module> from yt.utilities.lib import \ File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/__init__.py", line 35, in <module> from .png_writer import * ImportError: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/png_writer.so)
Best,
John
On Sep 3, 2013, at 3:10 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
John, can you give a little more info on that error? I'm a little concerned that there are binary incompatibilities that conda can't resolve. Perhaps this is something we should report on the conda issue tracker.
Matt, can't we get the recipes in the same way we get the latest dev install script? Something like:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/yt/meta.yaml
This doesn't currently work, although it does work for the yt repo, I think because we use named branches in that repository.
On Tue, Sep 3, 2013 at 12:00 PM, John ZuHone <jzuhone@gmail.com> wrote:
Works fine for me on OS X x86_64.
On my Goddard-controlled Linux x86_64 server, everything worked fine except Mercurial, which I "conda install"-ed using the yt link, but the binary had an incompatibility which the glibc that was installed on the machine. Using pip to install Mercurial (which did it from source) was the workaround.
On Sep 3, 2013, at 2:54 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi all,
Thanks to everybody who has reported back on testing. After some talking both offline and on IRC, as well as here, I think we would need to do the following things:
* Make a single script that grabs the appropriate distribution of miniconda and installs it. Right now I have a mechanism for doing this, but it's currently tied to an architecture. * Create a mechanism for installing all the packages we need. Nearly all are available inside the Continuum repos. What we're hung up on is that source installs require a "recipe", and transmitting the recipe is where I don't have an idea of what to do. * Test this out lots of places * Clean up the edges in the (new) install script * Move the old install script to maintenance mode * Update all documentation to describe this and mothball other methods of installation
What would be nice:
* Make available nightly builds of yt on several architectures using binstar * Utilize more of the packages included in conda elsewhere in yt, now that we can!
Here's my current recipe for get_yt.sh:
http://paste.yt-project.org/show/3843/
(The config thing may get switched to include the --system argument, to modify the "yt-conda" condarc.) The step that I'm most stuck on is getting the yt recipe to people. If we want to make it possible and easy to build from source, we need to get the contents of a "conda recipe" to people. They can then run "conda build ." in the directory. Here are the recipes that we've been playing with:
https://bitbucket.org/yt_analysis/yt_conda/src
Basically, in get_yt.sh, to do from source instead of from binary we need to insert a step at the end that downloads the recipes somehow and then cd's into the right directory and builds them. The reason this is tricky is that we often need to bootstrap ourselves; we can't assume anything exists. We can download the .tar.bz2 of the current tip of the repo, but it includes the hash in the directory name that it extracts to.
So I think what we need is a mechanism for getting the current state of the repo, figuring out the name of the repo's directory, moves into it, and then builds. I believe that all/most of this becomes much, much easier if hg gets included in Anaconda, which Nathan has submitted a PR for. So hopefully that will be taken care of, but until that time we can possibly figure something out. I'm not sure that we have the resources to continually support binary nightly builds in perpetuity for all the architectures that people run on, so having source would be awesome. Plus, one of the biggest appeals of how we distribute yt is that the source is included; I would very much not like to give this up.
Thoughts? Has anyone else tested any of this out?
-Matt
Hi everyone,
Sorry for chiming in late. I just moved when this thread began and do not have regular internet access.
I really like this idea of conda, especially as a package manager that only optionally makes its own edits to your .bashrc. I have always really
that the install script creates a clean python stack with basically everything a python user needs. I have on occasion suggested it to
just looking to use numpy and matploblib. It looks like conda will continue to provide this nice by-product, so I'm all for it.
I won't be in a position to help with testing and such for another week or so when I get regular internet access, but I would be glad to do so
On Tue, Sep 3, 2013 at 1:04 PM, Britton Smith <brittonsmith@gmail.com> wrote: liked people then.
Britton
On Fri, Aug 30, 2013 at 9:29 PM, Nathan Goldbaum <
wrote:
Everything should be available now for 64 bit linux and OS X.
On Fri, Aug 30, 2013 at 10:52 AM, Chris Malone <
chris.m.malone@gmail.com>
wrote:
Hi Nathan,
That appears to work as it built the environment and `conda install
...`
added packages to my environment.
One mistake I made was that I originally downloaded the "latest" OS X build of Miniconda, but that happened to be Miniconda3, which is
based. Trying to build the environment with that yields an error regarding incompatibility of yt and python3.3, as it should.
Chris
On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum < nathan12343@gmail.com> wrote: > > Hey Chris, > > I don't think mercurial is strictly necessary, can you try again without > it? I think if Matt uploads a mercurial package for OS X this won't be an > issue. I'll send him an updated tarball. > > I submitted a mercurial recipe to conda-recipes yesterday > (https://github.com/ContinuumIO/conda-recipes/pull/14) so hopefully a > mercurial build will be included in future anaconda releases. > > > On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone > <chris.m.malone@gmail.com> wrote: >> >> I just tried setting this up on OS X 10.7.5 and failed when attempting >> to create the conda environment due to a missing mercurial package: >> >> $ conda create -n ytenv -c http://conda.binstar.org/yt_project yt >> mercurial ipython tornado pyzmq pygments jinja2 sphinx >> Error: No packages found matching: mercurial >> >> >> On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum >> <nathan12343@gmail.com> wrote: >>> >>> Yup, please try on OSX as well. If you make sure Matt's binstar is in >>> your .condarc, you should be able to get yt by doing 'conda install yt'. >>> >>> I built the OSX binary on my laptop so I'd appreciate hearing about >>> issues, particularly if there are issues on older OS X releases. >>> >>> On Thursday, August 29, 2013, Matthew Turk wrote: >>>> >>>> Hi all, >>>> >>>> Thank you for the feedback -- I am glad there is some agreement about >>>> possible ways forward, and so I'm happy to try to use this as an >>>> opportunity to explore simpler, more reliable methods than the >>>> install >>>> script. >>>> >>>> This afternoon, I spent a bit of time with Conda, and I think it's >>>> quite nice. There are a few rough corners, particularly related to >>>> the binstar service, but it's so far pretty great. With Nathan's >>>> help, I was able to upload a yt-2.5.5 package for linux x86_64 and >>>> then install it. >>>> >>>> The workflow that seems to work: >>>> >>>> * Get miniconda: http://repo.continuum.io/miniconda/index.html >>>> * Run the installer for miniconda >>>> * Enter the conda environment and then install yt by doing "conda >>>> install yt -c http://conda.binstar.org/yt_project/ ". >>>> >>>> I think that this can likely all be stuck into a bash script. A >>>> simple, first pass at this is here: >>>> >>>> http://paste.yt-project.org/show/3833/ >>>> >>>> This right now only works on Linux x86_64, but getting it to work for >>>> other machines won't be too hard. I suspect we will be able to do >>>> nightlies very easily as well. If anyone out there has an x86_64 >>>> machine they wouldn't mind trying it on, that would be very helpful! >>>> I did find that once I ran this script, I had to actually
>>>> PATH afterwards as well. This means doing: >>>> >>>> export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH >>>> export PATH=$HOME/yt-conda:$PATH >>>> source activate ytenv >>>> >>>> At that point, everything was set up and working for me. The >>>> miniconda install offers to add paths to .bashrc, but I don't
>>>> we >>>> should go down that route. That being said, this is also a
nathan12343@gmail.com> python 3 prepend the think possible
>>>> point of friction. >>>> >>>> One nice thing is that this also completely works with the full >>>> anaconda; if someone wants everything that is in the anaconda >>>> install, >>>> they can even simply do "conda install anaconda" from the command >>>> line >>>> to get it. But the stripped down subset is the default. >>>> >>>> If anyone has a chance to try this out and has feedback, I'd greatly >>>> appreciate it! I think Nathan has done something very similar for >>>> OSX. I've also put a couple simple conda recipes here: >>>> https://bitbucket.org/yt_analysis/yt_conda which we can use as a >>>> basis >>>> for distributing builds and setting them up on buildbots and the >>>> like. >>>> I'm pretty optimistic about this. >>>> >>>> -Matt >>>> >>>> On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum >>>> <nathan12343@gmail.com> wrote: >>>>> I think to get everything working in a sustainable fashion, we >>>>> would need >>>>> buildbots for all platform combinations that we want to support, so >>>>> all >>>>> permutations of the (32/64 bit, linux / OS X / windows, >>>>> py27/py3.3) tuple. >>>>> At the moment anaconda seems to support 32 and 64 bit linux, 64 bit >>>>> OS X >>>>> (not totally clear if OS X version matters), and 32 and 64 bit >>>>> windows. >>>>> >>>>> Another option is to rely on conda build, which compiles everything >>>>> from >>>>> source. >>>>> >>>>> >>>>> On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> wrote: >>>>>> >>>>>> Hi all, >>>>>> >>>>>> I have less of a skin in this than I used to, but I'd like to >>>>>> raise >>>>>> the issue of Windows & package managers. For example, Anaconda is >>>>>> available for Windows - would that mean that yt might "just work" >>>>>> on >>>>>> Windows? Or the opposite, and it would require a great deal of >>>>>> effort >>>>>> to get all the various things we expect to be .so's to work as >>>>>> .dll's >>>>>> (such as the Cython helpers or halo-finding stuff)? >>>>>> >>>>>> I don't know the answers to these questions, but I think it's >>>>>> worth >>>>>> thinking about. >>>>>> >>>>>> -- >>>>>> Stephen Skory >>>>>> s@skory.us >>>>>> http://stephenskory.com/ >>>>>> 510.621.3687 (google voice) >>>>>> _______________________________________________ >>>>>> yt-dev mailing list >>>>>> yt-dev@lists.spacepope.org >>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> yt-dev mailing list >>>>> yt-dev@lists.spacepope.org >>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>> >>>> _______________________________________________ >>>> yt-dev mailing list >>>> yt-dev@lists.spacepope.org >>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>> >>> >>> _______________________________________________ >>> yt-dev mailing list >>> yt-dev@lists.spacepope.org >>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>> >> >> >> _______________________________________________ >> yt-dev mailing list >> yt-dev@lists.spacepope.org >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >> > > > _______________________________________________ > yt-dev mailing list > yt-dev@lists.spacepope.org > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/b279d746f54e2cd6062e8279a767c4bc.jpg?s=120&d=mm&r=g)
Hi Nathan, On Tue, Sep 10, 2013 at 1:16 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Hey John,
A few questions:
1. What did you choose for INST_YT_SOURCE in get_yt.sh? If INST_YT_SOURCE=1, what happens when you try INST_YT_SOURCE=0?
2. Again, if you had INST_YT_SOURCE=1, when you manually run `setup.py install` in the yt source repository, it should print out a few lines showing the root directory for the PNG, Freetype, and HDF5 libraries it tries to link against. This should be the very first thing printed out by the setup script. Is it linking against anaconda's libraries or system libraries?
3. What's the output of `ldd /u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/png_writer.so`?
I'm beginning to suspect that we cannot link against the libraries provided by anaconda unless we tailor our build environment to match the sort of gymnastics that `conda build` does to sanitize the build environment. Just yesterday I was having no end of grief trying to link against anaconda's hdf5 library. yt is able to link against this library inside a conda build environment, but when I try to link in my normal shell environment I run into issues - mostly because the OS X hdf5 library on anaconda was compiled on an OS X 10.5 machine.
If I read you correctly, you are saying that, practically speaking, this would mainly mean not using the yt-conda HDF5 for Enzo/FLASH/etc outside of yt. Right?
On Tue, Sep 10, 2013 at 9:54 AM, John ZuHone <jzuhone@gmail.com> wrote:
Hi Nathan and all,
Here's a little more info on that error you asked about regarding glibc. It came up again for me on Pleiades, this time with yt itself.
Traceback (most recent call last): File "/u/jzuhone/anaconda/bin/yt", line 4, in <module> from yt.utilities.command_line import run_main File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/command_line.py", line 29, in <module> from yt.mods import * File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/mods.py", line 60, in <module> from yt.data_objects.api import \ File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/api.py", line 31, in <module> from grid_patch import \ File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/grid_patch.py", line 35, in <module> from yt.data_objects.data_containers import YTFieldData File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/data_containers.py", line 45, in <module> from yt.data_objects.derived_quantities import GridChildMaskWrapper File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/derived_quantities.py", line 36, in <module> from yt.utilities.parallel_tools.parallel_analysis_interface import \ File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/parallel_tools/parallel_analysis_interface.py", line 39, in <module> from yt.utilities.lib import \ File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/__init__.py", line 35, in <module> from .png_writer import * ImportError: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/png_writer.so)
Best,
John
On Sep 3, 2013, at 3:10 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
John, can you give a little more info on that error? I'm a little concerned that there are binary incompatibilities that conda can't resolve. Perhaps this is something we should report on the conda issue tracker.
Matt, can't we get the recipes in the same way we get the latest dev install script? Something like:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/yt/meta.yaml
This doesn't currently work, although it does work for the yt repo, I think because we use named branches in that repository.
On Tue, Sep 3, 2013 at 12:00 PM, John ZuHone <jzuhone@gmail.com> wrote:
Works fine for me on OS X x86_64.
On my Goddard-controlled Linux x86_64 server, everything worked fine except Mercurial, which I "conda install"-ed using the yt link, but the binary had an incompatibility which the glibc that was installed on the machine. Using pip to install Mercurial (which did it from source) was the workaround.
On Sep 3, 2013, at 2:54 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi all,
Thanks to everybody who has reported back on testing. After some talking both offline and on IRC, as well as here, I think we would need to do the following things:
* Make a single script that grabs the appropriate distribution of miniconda and installs it. Right now I have a mechanism for doing this, but it's currently tied to an architecture. * Create a mechanism for installing all the packages we need. Nearly all are available inside the Continuum repos. What we're hung up on is that source installs require a "recipe", and transmitting the recipe is where I don't have an idea of what to do. * Test this out lots of places * Clean up the edges in the (new) install script * Move the old install script to maintenance mode * Update all documentation to describe this and mothball other methods of installation
What would be nice:
* Make available nightly builds of yt on several architectures using binstar * Utilize more of the packages included in conda elsewhere in yt, now that we can!
Here's my current recipe for get_yt.sh:
http://paste.yt-project.org/show/3843/
(The config thing may get switched to include the --system argument, to modify the "yt-conda" condarc.) The step that I'm most stuck on is getting the yt recipe to people. If we want to make it possible and easy to build from source, we need to get the contents of a "conda recipe" to people. They can then run "conda build ." in the directory. Here are the recipes that we've been playing with:
https://bitbucket.org/yt_analysis/yt_conda/src
Basically, in get_yt.sh, to do from source instead of from binary we need to insert a step at the end that downloads the recipes somehow and then cd's into the right directory and builds them. The reason this is tricky is that we often need to bootstrap ourselves; we can't assume anything exists. We can download the .tar.bz2 of the current tip of the repo, but it includes the hash in the directory name that it extracts to.
So I think what we need is a mechanism for getting the current state of the repo, figuring out the name of the repo's directory, moves into it, and then builds. I believe that all/most of this becomes much, much easier if hg gets included in Anaconda, which Nathan has submitted a PR for. So hopefully that will be taken care of, but until that time we can possibly figure something out. I'm not sure that we have the resources to continually support binary nightly builds in perpetuity for all the architectures that people run on, so having source would be awesome. Plus, one of the biggest appeals of how we distribute yt is that the source is included; I would very much not like to give this up.
Thoughts? Has anyone else tested any of this out?
-Matt
On Tue, Sep 3, 2013 at 1:04 PM, Britton Smith <brittonsmith@gmail.com> wrote:
Hi everyone,
Sorry for chiming in late. I just moved when this thread began and do not have regular internet access.
I really like this idea of conda, especially as a package manager that only optionally makes its own edits to your .bashrc. I have always really liked that the install script creates a clean python stack with basically everything a python user needs. I have on occasion suggested it to people just looking to use numpy and matploblib. It looks like conda will continue to provide this nice by-product, so I'm all for it.
I won't be in a position to help with testing and such for another week or so when I get regular internet access, but I would be glad to do so then.
Britton
On Fri, Aug 30, 2013 at 9:29 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Everything should be available now for 64 bit linux and OS X.
On Fri, Aug 30, 2013 at 10:52 AM, Chris Malone <chris.m.malone@gmail.com> wrote: > > Hi Nathan, > > That appears to work as it built the environment and `conda install > ...` > added packages to my environment. > > One mistake I made was that I originally downloaded the "latest" OS > X > build of Miniconda, but that happened to be Miniconda3, which is > python 3 > based. Trying to build the environment with that yields an error > regarding > incompatibility of yt and python3.3, as it should. > > Chris > > > On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum > <nathan12343@gmail.com> > wrote: >> >> Hey Chris, >> >> I don't think mercurial is strictly necessary, can you try again >> without >> it? I think if Matt uploads a mercurial package for OS X this >> won't be an >> issue. I'll send him an updated tarball. >> >> I submitted a mercurial recipe to conda-recipes yesterday >> (https://github.com/ContinuumIO/conda-recipes/pull/14) so hopefully >> a >> mercurial build will be included in future anaconda releases. >> >> >> On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone >> <chris.m.malone@gmail.com> wrote: >>> >>> I just tried setting this up on OS X 10.7.5 and failed when >>> attempting >>> to create the conda environment due to a missing mercurial >>> package: >>> >>> $ conda create -n ytenv -c http://conda.binstar.org/yt_project yt >>> mercurial ipython tornado pyzmq pygments jinja2 sphinx >>> Error: No packages found matching: mercurial >>> >>> >>> On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum >>> <nathan12343@gmail.com> wrote: >>>> >>>> Yup, please try on OSX as well. If you make sure Matt's binstar >>>> is in >>>> your .condarc, you should be able to get yt by doing 'conda >>>> install yt'. >>>> >>>> I built the OSX binary on my laptop so I'd appreciate hearing >>>> about >>>> issues, particularly if there are issues on older OS X releases. >>>> >>>> On Thursday, August 29, 2013, Matthew Turk wrote: >>>>> >>>>> Hi all, >>>>> >>>>> Thank you for the feedback -- I am glad there is some agreement >>>>> about >>>>> possible ways forward, and so I'm happy to try to use this as an >>>>> opportunity to explore simpler, more reliable methods than the >>>>> install >>>>> script. >>>>> >>>>> This afternoon, I spent a bit of time with Conda, and I think >>>>> it's >>>>> quite nice. There are a few rough corners, particularly related >>>>> to >>>>> the binstar service, but it's so far pretty great. With >>>>> Nathan's >>>>> help, I was able to upload a yt-2.5.5 package for linux x86_64 >>>>> and >>>>> then install it. >>>>> >>>>> The workflow that seems to work: >>>>> >>>>> * Get miniconda: http://repo.continuum.io/miniconda/index.html >>>>> * Run the installer for miniconda >>>>> * Enter the conda environment and then install yt by doing >>>>> "conda >>>>> install yt -c http://conda.binstar.org/yt_project/ ". >>>>> >>>>> I think that this can likely all be stuck into a bash script. A >>>>> simple, first pass at this is here: >>>>> >>>>> http://paste.yt-project.org/show/3833/ >>>>> >>>>> This right now only works on Linux x86_64, but getting it to >>>>> work for >>>>> other machines won't be too hard. I suspect we will be able to >>>>> do >>>>> nightlies very easily as well. If anyone out there has an >>>>> x86_64 >>>>> machine they wouldn't mind trying it on, that would be very >>>>> helpful! >>>>> I did find that once I ran this script, I had to actually >>>>> prepend the >>>>> PATH afterwards as well. This means doing: >>>>> >>>>> export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH >>>>> export PATH=$HOME/yt-conda:$PATH >>>>> source activate ytenv >>>>> >>>>> At that point, everything was set up and working for me. The >>>>> miniconda install offers to add paths to .bashrc, but I don't >>>>> think >>>>> we >>>>> should go down that route. That being said, this is also a >>>>> possible >>>>> point of friction. >>>>> >>>>> One nice thing is that this also completely works with the full >>>>> anaconda; if someone wants everything that is in the anaconda >>>>> install, >>>>> they can even simply do "conda install anaconda" from the >>>>> command >>>>> line >>>>> to get it. But the stripped down subset is the default. >>>>> >>>>> If anyone has a chance to try this out and has feedback, I'd >>>>> greatly >>>>> appreciate it! I think Nathan has done something very similar >>>>> for >>>>> OSX. I've also put a couple simple conda recipes here: >>>>> https://bitbucket.org/yt_analysis/yt_conda which we can use as a >>>>> basis >>>>> for distributing builds and setting them up on buildbots and the >>>>> like. >>>>> I'm pretty optimistic about this. >>>>> >>>>> -Matt >>>>> >>>>> On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum >>>>> <nathan12343@gmail.com> wrote: >>>>>> I think to get everything working in a sustainable fashion, we >>>>>> would need >>>>>> buildbots for all platform combinations that we want to >>>>>> support, so >>>>>> all >>>>>> permutations of the (32/64 bit, linux / OS X / windows, >>>>>> py27/py3.3) tuple. >>>>>> At the moment anaconda seems to support 32 and 64 bit linux, 64 >>>>>> bit >>>>>> OS X >>>>>> (not totally clear if OS X version matters), and 32 and 64 bit >>>>>> windows. >>>>>> >>>>>> Another option is to rely on conda build, which compiles >>>>>> everything >>>>>> from >>>>>> source. >>>>>> >>>>>> >>>>>> On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> >>>>>> wrote: >>>>>>> >>>>>>> Hi all, >>>>>>> >>>>>>> I have less of a skin in this than I used to, but I'd like to >>>>>>> raise >>>>>>> the issue of Windows & package managers. For example, Anaconda >>>>>>> is >>>>>>> available for Windows - would that mean that yt might "just >>>>>>> work" >>>>>>> on >>>>>>> Windows? Or the opposite, and it would require a great deal of >>>>>>> effort >>>>>>> to get all the various things we expect to be .so's to work as >>>>>>> .dll's >>>>>>> (such as the Cython helpers or halo-finding stuff)? >>>>>>> >>>>>>> I don't know the answers to these questions, but I think it's >>>>>>> worth >>>>>>> thinking about. >>>>>>> >>>>>>> -- >>>>>>> Stephen Skory >>>>>>> s@skory.us >>>>>>> http://stephenskory.com/ >>>>>>> 510.621.3687 (google voice) >>>>>>> _______________________________________________ >>>>>>> yt-dev mailing list >>>>>>> yt-dev@lists.spacepope.org >>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> yt-dev mailing list >>>>>> yt-dev@lists.spacepope.org >>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>> >>>>> _______________________________________________ >>>>> yt-dev mailing list >>>>> yt-dev@lists.spacepope.org >>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>> >>>> >>>> _______________________________________________ >>>> yt-dev mailing list >>>> yt-dev@lists.spacepope.org >>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>> >>> >>> >>> _______________________________________________ >>> yt-dev mailing list >>> yt-dev@lists.spacepope.org >>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>> >> >> >> _______________________________________________ >> yt-dev mailing list >> yt-dev@lists.spacepope.org >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >> > > > _______________________________________________ > yt-dev mailing list > yt-dev@lists.spacepope.org > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/7857f26c1ef2e9bdbfa843f9087710f7.jpg?s=120&d=mm&r=g)
Not 100% sure. It certainly won't work on OS X at the moment. -Nathan On Tue, Sep 10, 2013 at 10:59 AM, Matthew Turk <matthewturk@gmail.com>wrote:
Hi Nathan,
On Tue, Sep 10, 2013 at 1:16 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Hey John,
A few questions:
1. What did you choose for INST_YT_SOURCE in get_yt.sh? If INST_YT_SOURCE=1, what happens when you try INST_YT_SOURCE=0?
2. Again, if you had INST_YT_SOURCE=1, when you manually run `setup.py install` in the yt source repository, it should print out a few lines showing the root directory for the PNG, Freetype, and HDF5 libraries it tries to link against. This should be the very first thing printed out by the setup script. Is it linking against anaconda's libraries or system libraries?
3. What's the output of `ldd
/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/png_writer.so`?
I'm beginning to suspect that we cannot link against the libraries
provided
by anaconda unless we tailor our build environment to match the sort of gymnastics that `conda build` does to sanitize the build environment. Just yesterday I was having no end of grief trying to link against anaconda's hdf5 library. yt is able to link against this library inside a conda build environment, but when I try to link in my normal shell environment I run into issues - mostly because the OS X hdf5 library on anaconda was compiled on an OS X 10.5 machine.
If I read you correctly, you are saying that, practically speaking, this would mainly mean not using the yt-conda HDF5 for Enzo/FLASH/etc outside of yt. Right?
On Tue, Sep 10, 2013 at 9:54 AM, John ZuHone <jzuhone@gmail.com> wrote:
Hi Nathan and all,
Here's a little more info on that error you asked about regarding glibc. It came up again for me on Pleiades, this time with yt itself.
Traceback (most recent call last): File "/u/jzuhone/anaconda/bin/yt", line 4, in <module> from yt.utilities.command_line import run_main File
line 29, in <module> from yt.mods import * File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/mods.py",
60, in <module> from yt.data_objects.api import \ File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/api.py",
line 31, in <module> from grid_patch import \ File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/grid_patch.py",
line 35, in <module> from yt.data_objects.data_containers import YTFieldData File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/data_containers.py",
line 45, in <module> from yt.data_objects.derived_quantities import GridChildMaskWrapper File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/derived_quantities.py",
line 36, in <module> from yt.utilities.parallel_tools.parallel_analysis_interface import \ File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/parallel_tools/parallel_analysis_interface.py",
line 39, in <module> from yt.utilities.lib import \ File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/__init__.py",
line 35, in <module> from .png_writer import * ImportError: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by
/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/png_writer.so)
Best,
John
On Sep 3, 2013, at 3:10 PM, Nathan Goldbaum <nathan12343@gmail.com>
wrote:
John, can you give a little more info on that error? I'm a little concerned that there are binary incompatibilities that conda can't
resolve.
Perhaps this is something we should report on the conda issue tracker.
Matt, can't we get the recipes in the same way we get the latest dev install script? Something like:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/yt/meta.yaml
This doesn't currently work, although it does work for the yt repo, I think because we use named branches in that repository.
On Tue, Sep 3, 2013 at 12:00 PM, John ZuHone <jzuhone@gmail.com> wrote:
Works fine for me on OS X x86_64.
On my Goddard-controlled Linux x86_64 server, everything worked fine except Mercurial, which I "conda install"-ed using the yt link, but the binary had an incompatibility which the glibc that was installed on the machine. Using pip to install Mercurial (which did it from source) was
workaround.
On Sep 3, 2013, at 2:54 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi all,
Thanks to everybody who has reported back on testing. After some talking both offline and on IRC, as well as here, I think we would need to do the following things:
* Make a single script that grabs the appropriate distribution of miniconda and installs it. Right now I have a mechanism for doing this, but it's currently tied to an architecture. * Create a mechanism for installing all the packages we need. Nearly all are available inside the Continuum repos. What we're hung up on is that source installs require a "recipe", and transmitting the recipe is where I don't have an idea of what to do. * Test this out lots of places * Clean up the edges in the (new) install script * Move the old install script to maintenance mode * Update all documentation to describe this and mothball other methods of installation
What would be nice:
* Make available nightly builds of yt on several architectures using binstar * Utilize more of the packages included in conda elsewhere in yt, now that we can!
Here's my current recipe for get_yt.sh:
http://paste.yt-project.org/show/3843/
(The config thing may get switched to include the --system argument, to modify the "yt-conda" condarc.) The step that I'm most stuck on is getting the yt recipe to people. If we want to make it possible and easy to build from source, we need to get the contents of a "conda recipe" to people. They can then run "conda build ." in the directory. Here are the recipes that we've been playing with:
https://bitbucket.org/yt_analysis/yt_conda/src
Basically, in get_yt.sh, to do from source instead of from binary we need to insert a step at the end that downloads the recipes somehow and then cd's into the right directory and builds them. The reason this is tricky is that we often need to bootstrap ourselves; we can't assume anything exists. We can download the .tar.bz2 of the current tip of the repo, but it includes the hash in the directory name that it extracts to.
So I think what we need is a mechanism for getting the current state of the repo, figuring out the name of the repo's directory, moves into it, and then builds. I believe that all/most of this becomes much, much easier if hg gets included in Anaconda, which Nathan has submitted a PR for. So hopefully that will be taken care of, but until that time we can possibly figure something out. I'm not sure that we have the resources to continually support binary nightly builds in perpetuity for all the architectures that people run on, so having source would be awesome. Plus, one of the biggest appeals of how we distribute yt is that the source is included; I would very much not like to give this up.
Thoughts? Has anyone else tested any of this out?
-Matt
On Tue, Sep 3, 2013 at 1:04 PM, Britton Smith < brittonsmith@gmail.com> wrote:
Hi everyone,
Sorry for chiming in late. I just moved when this thread began and do not have regular internet access.
I really like this idea of conda, especially as a package manager
only optionally makes its own edits to your .bashrc. I have always really liked that the install script creates a clean python stack with basically everything a python user needs. I have on occasion suggested it to people just looking to use numpy and matploblib. It looks like conda will continue to provide this nice by-product, so I'm all for it.
I won't be in a position to help with testing and such for another week or so when I get regular internet access, but I would be glad to do so then.
Britton
On Fri, Aug 30, 2013 at 9:29 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote: > > Everything should be available now for 64 bit linux and OS X. > > > On Fri, Aug 30, 2013 at 10:52 AM, Chris Malone > <chris.m.malone@gmail.com> > wrote: >> >> Hi Nathan, >> >> That appears to work as it built the environment and `conda install >> ...` >> added packages to my environment. >> >> One mistake I made was that I originally downloaded the "latest" OS >> X >> build of Miniconda, but that happened to be Miniconda3, which is >> python 3 >> based. Trying to build the environment with that yields an error >> regarding >> incompatibility of yt and python3.3, as it should. >> >> Chris >> >> >> On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum >> <nathan12343@gmail.com> >> wrote: >>> >>> Hey Chris, >>> >>> I don't think mercurial is strictly necessary, can you try again >>> without >>> it? I think if Matt uploads a mercurial package for OS X this >>> won't be an >>> issue. I'll send him an updated tarball. >>> >>> I submitted a mercurial recipe to conda-recipes yesterday >>> (https://github.com/ContinuumIO/conda-recipes/pull/14) so hopefully >>> a >>> mercurial build will be included in future anaconda releases. >>> >>> >>> On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone >>> <chris.m.malone@gmail.com> wrote: >>>> >>>> I just tried setting this up on OS X 10.7.5 and failed when >>>> attempting >>>> to create the conda environment due to a missing mercurial >>>> package: >>>> >>>> $ conda create -n ytenv -c http://conda.binstar.org/yt_projectyt >>>> mercurial ipython tornado pyzmq pygments jinja2 sphinx >>>> Error: No packages found matching: mercurial >>>> >>>> >>>> On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum >>>> <nathan12343@gmail.com> wrote: >>>>> >>>>> Yup, please try on OSX as well. If you make sure Matt's binstar >>>>> is in >>>>> your .condarc, you should be able to get yt by doing 'conda >>>>> install yt'. >>>>> >>>>> I built the OSX binary on my laptop so I'd appreciate hearing >>>>> about >>>>> issues, particularly if there are issues on older OS X releases. >>>>> >>>>> On Thursday, August 29, 2013, Matthew Turk wrote: >>>>>> >>>>>> Hi all, >>>>>> >>>>>> Thank you for the feedback -- I am glad there is some agreement >>>>>> about >>>>>> possible ways forward, and so I'm happy to try to use this as an >>>>>> opportunity to explore simpler, more reliable methods than the >>>>>> install >>>>>> script. >>>>>> >>>>>> This afternoon, I spent a bit of time with Conda, and I think >>>>>> it's >>>>>> quite nice. There are a few rough corners, particularly related >>>>>> to >>>>>> the binstar service, but it's so far pretty great. With >>>>>> Nathan's >>>>>> help, I was able to upload a yt-2.5.5 package for linux x86_64 >>>>>> and >>>>>> then install it. >>>>>> >>>>>> The workflow that seems to work: >>>>>> >>>>>> * Get miniconda: http://repo.continuum.io/miniconda/index.html >>>>>> * Run the installer for miniconda >>>>>> * Enter the conda environment and then install yt by doing >>>>>> "conda >>>>>> install yt -c http://conda.binstar.org/yt_project/ ". >>>>>> >>>>>> I think that this can likely all be stuck into a bash script. A >>>>>> simple, first pass at this is here: >>>>>> >>>>>> http://paste.yt-project.org/show/3833/ >>>>>> >>>>>> This right now only works on Linux x86_64, but getting it to >>>>>> work for >>>>>> other machines won't be too hard. I suspect we will be able to >>>>>> do >>>>>> nightlies very easily as well. If anyone out there has an >>>>>> x86_64 >>>>>> machine they wouldn't mind trying it on, that would be very >>>>>> helpful! >>>>>> I did find that once I ran this script, I had to actually >>>>>> prepend the >>>>>> PATH afterwards as well. This means doing: >>>>>> >>>>>> export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH >>>>>> export PATH=$HOME/yt-conda:$PATH >>>>>> source activate ytenv >>>>>> >>>>>> At that point, everything was set up and working for me. The >>>>>> miniconda install offers to add paths to .bashrc, but I don't >>>>>> think >>>>>> we >>>>>> should go down that route. That being said, this is also a >>>>>> possible >>>>>> point of friction. >>>>>> >>>>>> One nice thing is that this also completely works with the full >>>>>> anaconda; if someone wants everything that is in the anaconda >>>>>> install, >>>>>> they can even simply do "conda install anaconda" from the >>>>>> command >>>>>> line >>>>>> to get it. But the stripped down subset is the default. >>>>>> >>>>>> If anyone has a chance to try this out and has feedback, I'd >>>>>> greatly >>>>>> appreciate it! I think Nathan has done something very similar >>>>>> for >>>>>> OSX. I've also put a couple simple conda recipes here: >>>>>> https://bitbucket.org/yt_analysis/yt_conda which we can use as a >>>>>> basis >>>>>> for distributing builds and setting them up on buildbots and
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/command_line.py", line the that the
>>>>>> like. >>>>>> I'm pretty optimistic about this. >>>>>> >>>>>> -Matt >>>>>> >>>>>> On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum >>>>>> <nathan12343@gmail.com> wrote: >>>>>>> I think to get everything working in a sustainable fashion, we >>>>>>> would need >>>>>>> buildbots for all platform combinations that we want to >>>>>>> support, so >>>>>>> all >>>>>>> permutations of the (32/64 bit, linux / OS X / windows, >>>>>>> py27/py3.3) tuple. >>>>>>> At the moment anaconda seems to support 32 and 64 bit linux, 64 >>>>>>> bit >>>>>>> OS X >>>>>>> (not totally clear if OS X version matters), and 32 and 64 bit >>>>>>> windows. >>>>>>> >>>>>>> Another option is to rely on conda build, which compiles >>>>>>> everything >>>>>>> from >>>>>>> source. >>>>>>> >>>>>>> >>>>>>> On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> >>>>>>> wrote: >>>>>>>> >>>>>>>> Hi all, >>>>>>>> >>>>>>>> I have less of a skin in this than I used to, but I'd like to >>>>>>>> raise >>>>>>>> the issue of Windows & package managers. For example, Anaconda >>>>>>>> is >>>>>>>> available for Windows - would that mean that yt might "just >>>>>>>> work" >>>>>>>> on >>>>>>>> Windows? Or the opposite, and it would require a great deal of >>>>>>>> effort >>>>>>>> to get all the various things we expect to be .so's to work as >>>>>>>> .dll's >>>>>>>> (such as the Cython helpers or halo-finding stuff)? >>>>>>>> >>>>>>>> I don't know the answers to these questions, but I think it's >>>>>>>> worth >>>>>>>> thinking about. >>>>>>>> >>>>>>>> -- >>>>>>>> Stephen Skory >>>>>>>> s@skory.us >>>>>>>> http://stephenskory.com/ >>>>>>>> 510.621.3687 (google voice) >>>>>>>> _______________________________________________ >>>>>>>> yt-dev mailing list >>>>>>>> yt-dev@lists.spacepope.org >>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>>> >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> yt-dev mailing list >>>>>>> yt-dev@lists.spacepope.org >>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>>> >>>>>> _______________________________________________ >>>>>> yt-dev mailing list >>>>>> yt-dev@lists.spacepope.org >>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>> >>>>> >>>>> _______________________________________________ >>>>> yt-dev mailing list >>>>> yt-dev@lists.spacepope.org >>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>> >>>> >>>> >>>> _______________________________________________ >>>> yt-dev mailing list >>>> yt-dev@lists.spacepope.org >>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>> >>> >>> >>> _______________________________________________ >>> yt-dev mailing list >>> yt-dev@lists.spacepope.org >>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>> >> >> >> _______________________________________________ >> yt-dev mailing list >> yt-dev@lists.spacepope.org >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >> > > > _______________________________________________ > yt-dev mailing list > yt-dev@lists.spacepope.org > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/b279d746f54e2cd6062e8279a767c4bc.jpg?s=120&d=mm&r=g)
Hi Nathan, Okay -- but if that's the price we pay, I think it may still be worth it. -Matt On Tue, Sep 10, 2013 at 2:09 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Not 100% sure. It certainly won't work on OS X at the moment.
-Nathan
On Tue, Sep 10, 2013 at 10:59 AM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi Nathan,
On Tue, Sep 10, 2013 at 1:16 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
Hey John,
A few questions:
1. What did you choose for INST_YT_SOURCE in get_yt.sh? If INST_YT_SOURCE=1, what happens when you try INST_YT_SOURCE=0?
2. Again, if you had INST_YT_SOURCE=1, when you manually run `setup.py install` in the yt source repository, it should print out a few lines showing the root directory for the PNG, Freetype, and HDF5 libraries it tries to link against. This should be the very first thing printed out by the setup script. Is it linking against anaconda's libraries or system libraries?
3. What's the output of `ldd
/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/png_writer.so`?
I'm beginning to suspect that we cannot link against the libraries provided by anaconda unless we tailor our build environment to match the sort of gymnastics that `conda build` does to sanitize the build environment. Just yesterday I was having no end of grief trying to link against anaconda's hdf5 library. yt is able to link against this library inside a conda build environment, but when I try to link in my normal shell environment I run into issues - mostly because the OS X hdf5 library on anaconda was compiled on an OS X 10.5 machine.
If I read you correctly, you are saying that, practically speaking, this would mainly mean not using the yt-conda HDF5 for Enzo/FLASH/etc outside of yt. Right?
On Tue, Sep 10, 2013 at 9:54 AM, John ZuHone <jzuhone@gmail.com> wrote:
Hi Nathan and all,
Here's a little more info on that error you asked about regarding glibc. It came up again for me on Pleiades, this time with yt itself.
Traceback (most recent call last): File "/u/jzuhone/anaconda/bin/yt", line 4, in <module> from yt.utilities.command_line import run_main File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/command_line.py", line 29, in <module> from yt.mods import * File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/mods.py", line 60, in <module> from yt.data_objects.api import \ File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/api.py", line 31, in <module> from grid_patch import \ File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/grid_patch.py", line 35, in <module> from yt.data_objects.data_containers import YTFieldData File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/data_containers.py", line 45, in <module> from yt.data_objects.derived_quantities import GridChildMaskWrapper File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/derived_quantities.py", line 36, in <module> from yt.utilities.parallel_tools.parallel_analysis_interface import \ File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/parallel_tools/parallel_analysis_interface.py", line 39, in <module> from yt.utilities.lib import \ File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/__init__.py", line 35, in <module> from .png_writer import * ImportError: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by
/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/png_writer.so)
Best,
John
On Sep 3, 2013, at 3:10 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
John, can you give a little more info on that error? I'm a little concerned that there are binary incompatibilities that conda can't resolve. Perhaps this is something we should report on the conda issue tracker.
Matt, can't we get the recipes in the same way we get the latest dev install script? Something like:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/yt/meta.yaml
This doesn't currently work, although it does work for the yt repo, I think because we use named branches in that repository.
On Tue, Sep 3, 2013 at 12:00 PM, John ZuHone <jzuhone@gmail.com> wrote:
Works fine for me on OS X x86_64.
On my Goddard-controlled Linux x86_64 server, everything worked fine except Mercurial, which I "conda install"-ed using the yt link, but the binary had an incompatibility which the glibc that was installed on the machine. Using pip to install Mercurial (which did it from source) was the workaround.
On Sep 3, 2013, at 2:54 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi all,
Thanks to everybody who has reported back on testing. After some talking both offline and on IRC, as well as here, I think we would need to do the following things:
* Make a single script that grabs the appropriate distribution of miniconda and installs it. Right now I have a mechanism for doing this, but it's currently tied to an architecture. * Create a mechanism for installing all the packages we need. Nearly all are available inside the Continuum repos. What we're hung up on is that source installs require a "recipe", and transmitting the recipe is where I don't have an idea of what to do. * Test this out lots of places * Clean up the edges in the (new) install script * Move the old install script to maintenance mode * Update all documentation to describe this and mothball other methods of installation
What would be nice:
* Make available nightly builds of yt on several architectures using binstar * Utilize more of the packages included in conda elsewhere in yt, now that we can!
Here's my current recipe for get_yt.sh:
http://paste.yt-project.org/show/3843/
(The config thing may get switched to include the --system argument, to modify the "yt-conda" condarc.) The step that I'm most stuck on is getting the yt recipe to people. If we want to make it possible and easy to build from source, we need to get the contents of a "conda recipe" to people. They can then run "conda build ." in the directory. Here are the recipes that we've been playing with:
https://bitbucket.org/yt_analysis/yt_conda/src
Basically, in get_yt.sh, to do from source instead of from binary we need to insert a step at the end that downloads the recipes somehow and then cd's into the right directory and builds them. The reason this is tricky is that we often need to bootstrap ourselves; we can't assume anything exists. We can download the .tar.bz2 of the current tip of the repo, but it includes the hash in the directory name that it extracts to.
So I think what we need is a mechanism for getting the current state of the repo, figuring out the name of the repo's directory, moves into it, and then builds. I believe that all/most of this becomes much, much easier if hg gets included in Anaconda, which Nathan has submitted a PR for. So hopefully that will be taken care of, but until that time we can possibly figure something out. I'm not sure that we have the resources to continually support binary nightly builds in perpetuity for all the architectures that people run on, so having source would be awesome. Plus, one of the biggest appeals of how we distribute yt is that the source is included; I would very much not like to give this up.
Thoughts? Has anyone else tested any of this out?
-Matt
On Tue, Sep 3, 2013 at 1:04 PM, Britton Smith <brittonsmith@gmail.com> wrote: > Hi everyone, > > Sorry for chiming in late. I just moved when this thread began and > do > not > have regular internet access. > > I really like this idea of conda, especially as a package manager > that > only > optionally makes its own edits to your .bashrc. I have always > really > liked > that the install script creates a clean python stack with basically > everything a python user needs. I have on occasion suggested it to > people > just looking to use numpy and matploblib. It looks like conda will > continue > to provide this nice by-product, so I'm all for it. > > I won't be in a position to help with testing and such for another > week or > so when I get regular internet access, but I would be glad to do so > then. > > Britton > > > On Fri, Aug 30, 2013 at 9:29 PM, Nathan Goldbaum > <nathan12343@gmail.com> > wrote: >> >> Everything should be available now for 64 bit linux and OS X. >> >> >> On Fri, Aug 30, 2013 at 10:52 AM, Chris Malone >> <chris.m.malone@gmail.com> >> wrote: >>> >>> Hi Nathan, >>> >>> That appears to work as it built the environment and `conda >>> install >>> ...` >>> added packages to my environment. >>> >>> One mistake I made was that I originally downloaded the "latest" >>> OS >>> X >>> build of Miniconda, but that happened to be Miniconda3, which is >>> python 3 >>> based. Trying to build the environment with that yields an error >>> regarding >>> incompatibility of yt and python3.3, as it should. >>> >>> Chris >>> >>> >>> On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum >>> <nathan12343@gmail.com> >>> wrote: >>>> >>>> Hey Chris, >>>> >>>> I don't think mercurial is strictly necessary, can you try again >>>> without >>>> it? I think if Matt uploads a mercurial package for OS X this >>>> won't be an >>>> issue. I'll send him an updated tarball. >>>> >>>> I submitted a mercurial recipe to conda-recipes yesterday >>>> (https://github.com/ContinuumIO/conda-recipes/pull/14) so >>>> hopefully >>>> a >>>> mercurial build will be included in future anaconda releases. >>>> >>>> >>>> On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone >>>> <chris.m.malone@gmail.com> wrote: >>>>> >>>>> I just tried setting this up on OS X 10.7.5 and failed when >>>>> attempting >>>>> to create the conda environment due to a missing mercurial >>>>> package: >>>>> >>>>> $ conda create -n ytenv -c http://conda.binstar.org/yt_project >>>>> yt >>>>> mercurial ipython tornado pyzmq pygments jinja2 sphinx >>>>> Error: No packages found matching: mercurial >>>>> >>>>> >>>>> On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum >>>>> <nathan12343@gmail.com> wrote: >>>>>> >>>>>> Yup, please try on OSX as well. If you make sure Matt's >>>>>> binstar >>>>>> is in >>>>>> your .condarc, you should be able to get yt by doing 'conda >>>>>> install yt'. >>>>>> >>>>>> I built the OSX binary on my laptop so I'd appreciate hearing >>>>>> about >>>>>> issues, particularly if there are issues on older OS X >>>>>> releases. >>>>>> >>>>>> On Thursday, August 29, 2013, Matthew Turk wrote: >>>>>>> >>>>>>> Hi all, >>>>>>> >>>>>>> Thank you for the feedback -- I am glad there is some >>>>>>> agreement >>>>>>> about >>>>>>> possible ways forward, and so I'm happy to try to use this as >>>>>>> an >>>>>>> opportunity to explore simpler, more reliable methods than >>>>>>> the >>>>>>> install >>>>>>> script. >>>>>>> >>>>>>> This afternoon, I spent a bit of time with Conda, and I think >>>>>>> it's >>>>>>> quite nice. There are a few rough corners, particularly >>>>>>> related >>>>>>> to >>>>>>> the binstar service, but it's so far pretty great. With >>>>>>> Nathan's >>>>>>> help, I was able to upload a yt-2.5.5 package for linux >>>>>>> x86_64 >>>>>>> and >>>>>>> then install it. >>>>>>> >>>>>>> The workflow that seems to work: >>>>>>> >>>>>>> * Get miniconda: >>>>>>> http://repo.continuum.io/miniconda/index.html >>>>>>> * Run the installer for miniconda >>>>>>> * Enter the conda environment and then install yt by doing >>>>>>> "conda >>>>>>> install yt -c http://conda.binstar.org/yt_project/ ". >>>>>>> >>>>>>> I think that this can likely all be stuck into a bash script. >>>>>>> A >>>>>>> simple, first pass at this is here: >>>>>>> >>>>>>> http://paste.yt-project.org/show/3833/ >>>>>>> >>>>>>> This right now only works on Linux x86_64, but getting it to >>>>>>> work for >>>>>>> other machines won't be too hard. I suspect we will be able >>>>>>> to >>>>>>> do >>>>>>> nightlies very easily as well. If anyone out there has an >>>>>>> x86_64 >>>>>>> machine they wouldn't mind trying it on, that would be very >>>>>>> helpful! >>>>>>> I did find that once I ran this script, I had to actually >>>>>>> prepend the >>>>>>> PATH afterwards as well. This means doing: >>>>>>> >>>>>>> export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH >>>>>>> export PATH=$HOME/yt-conda:$PATH >>>>>>> source activate ytenv >>>>>>> >>>>>>> At that point, everything was set up and working for me. The >>>>>>> miniconda install offers to add paths to .bashrc, but I don't >>>>>>> think >>>>>>> we >>>>>>> should go down that route. That being said, this is also a >>>>>>> possible >>>>>>> point of friction. >>>>>>> >>>>>>> One nice thing is that this also completely works with the >>>>>>> full >>>>>>> anaconda; if someone wants everything that is in the anaconda >>>>>>> install, >>>>>>> they can even simply do "conda install anaconda" from the >>>>>>> command >>>>>>> line >>>>>>> to get it. But the stripped down subset is the default. >>>>>>> >>>>>>> If anyone has a chance to try this out and has feedback, I'd >>>>>>> greatly >>>>>>> appreciate it! I think Nathan has done something very >>>>>>> similar >>>>>>> for >>>>>>> OSX. I've also put a couple simple conda recipes here: >>>>>>> https://bitbucket.org/yt_analysis/yt_conda which we can use >>>>>>> as a >>>>>>> basis >>>>>>> for distributing builds and setting them up on buildbots and >>>>>>> the >>>>>>> like. >>>>>>> I'm pretty optimistic about this. >>>>>>> >>>>>>> -Matt >>>>>>> >>>>>>> On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum >>>>>>> <nathan12343@gmail.com> wrote: >>>>>>>> I think to get everything working in a sustainable fashion, >>>>>>>> we >>>>>>>> would need >>>>>>>> buildbots for all platform combinations that we want to >>>>>>>> support, so >>>>>>>> all >>>>>>>> permutations of the (32/64 bit, linux / OS X / windows, >>>>>>>> py27/py3.3) tuple. >>>>>>>> At the moment anaconda seems to support 32 and 64 bit linux, >>>>>>>> 64 >>>>>>>> bit >>>>>>>> OS X >>>>>>>> (not totally clear if OS X version matters), and 32 and 64 >>>>>>>> bit >>>>>>>> windows. >>>>>>>> >>>>>>>> Another option is to rely on conda build, which compiles >>>>>>>> everything >>>>>>>> from >>>>>>>> source. >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory <s@skory.us> >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> Hi all, >>>>>>>>> >>>>>>>>> I have less of a skin in this than I used to, but I'd like >>>>>>>>> to >>>>>>>>> raise >>>>>>>>> the issue of Windows & package managers. For example, >>>>>>>>> Anaconda >>>>>>>>> is >>>>>>>>> available for Windows - would that mean that yt might "just >>>>>>>>> work" >>>>>>>>> on >>>>>>>>> Windows? Or the opposite, and it would require a great deal >>>>>>>>> of >>>>>>>>> effort >>>>>>>>> to get all the various things we expect to be .so's to work >>>>>>>>> as >>>>>>>>> .dll's >>>>>>>>> (such as the Cython helpers or halo-finding stuff)? >>>>>>>>> >>>>>>>>> I don't know the answers to these questions, but I think >>>>>>>>> it's >>>>>>>>> worth >>>>>>>>> thinking about. >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Stephen Skory >>>>>>>>> s@skory.us >>>>>>>>> http://stephenskory.com/ >>>>>>>>> 510.621.3687 (google voice) >>>>>>>>> _______________________________________________ >>>>>>>>> yt-dev mailing list >>>>>>>>> yt-dev@lists.spacepope.org >>>>>>>>> >>>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> yt-dev mailing list >>>>>>>> yt-dev@lists.spacepope.org >>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> yt-dev mailing list >>>>>>> yt-dev@lists.spacepope.org >>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> yt-dev mailing list >>>>>> yt-dev@lists.spacepope.org >>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> yt-dev mailing list >>>>> yt-dev@lists.spacepope.org >>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>> >>>> >>>> >>>> _______________________________________________ >>>> yt-dev mailing list >>>> yt-dev@lists.spacepope.org >>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>> >>> >>> >>> _______________________________________________ >>> yt-dev mailing list >>> yt-dev@lists.spacepope.org >>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>> >> >> >> _______________________________________________ >> yt-dev mailing list >> yt-dev@lists.spacepope.org >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >> > > > _______________________________________________ > yt-dev mailing list > yt-dev@lists.spacepope.org > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > _______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/c1ca883bfb6bc32bcd9a65c5ec9b0bf9.jpg?s=120&d=mm&r=g)
Why does conda come with libraries built on such an old system? That seems a bit strange, especially for Mac, which has evolved quite a bit since 10.5. Is this sort of thing really not a problem for us? Britton On Tue, Sep 10, 2013 at 7:10 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi Nathan,
Okay -- but if that's the price we pay, I think it may still be worth it.
-Matt
Not 100% sure. It certainly won't work on OS X at the moment.
-Nathan
On Tue, Sep 10, 2013 at 10:59 AM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi Nathan,
On Tue, Sep 10, 2013 at 1:16 PM, Nathan Goldbaum <nathan12343@gmail.com
wrote:
Hey John,
A few questions:
1. What did you choose for INST_YT_SOURCE in get_yt.sh? If INST_YT_SOURCE=1, what happens when you try INST_YT_SOURCE=0?
2. Again, if you had INST_YT_SOURCE=1, when you manually run `setup.py install` in the yt source repository, it should print out a few lines showing the root directory for the PNG, Freetype, and HDF5 libraries it tries to link against. This should be the very first thing printed out by the setup script. Is it linking against anaconda's libraries or system libraries?
3. What's the output of `ldd
/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/png_writer.so`?
I'm beginning to suspect that we cannot link against the libraries provided by anaconda unless we tailor our build environment to match the sort
of
gymnastics that `conda build` does to sanitize the build environment. Just yesterday I was having no end of grief trying to link against anaconda's hdf5 library. yt is able to link against this library inside a conda build environment, but when I try to link in my normal shell environment I run into issues - mostly because the OS X hdf5 library on anaconda was compiled on an OS X 10.5 machine.
If I read you correctly, you are saying that, practically speaking, this would mainly mean not using the yt-conda HDF5 for Enzo/FLASH/etc outside of yt. Right?
On Tue, Sep 10, 2013 at 9:54 AM, John ZuHone <jzuhone@gmail.com>
wrote:
Hi Nathan and all,
Here's a little more info on that error you asked about regarding glibc. It came up again for me on Pleiades, this time with yt itself.
Traceback (most recent call last): File "/u/jzuhone/anaconda/bin/yt", line 4, in <module> from yt.utilities.command_line import run_main File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/command_line.py",
line 29, in <module> from yt.mods import * File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/mods.py", line 60, in <module> from yt.data_objects.api import \ File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/api.py",
line 31, in <module> from grid_patch import \ File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/grid_patch.py",
line 35, in <module> from yt.data_objects.data_containers import YTFieldData File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/data_containers.py",
line 45, in <module> from yt.data_objects.derived_quantities import GridChildMaskWrapper File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/derived_quantities.py",
line 36, in <module> from yt.utilities.parallel_tools.parallel_analysis_interface import \ File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/parallel_tools/parallel_analysis_interface.py",
line 39, in <module> from yt.utilities.lib import \ File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/__init__.py",
line 35, in <module> from .png_writer import * ImportError: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by
/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/png_writer.so)
Best,
John
On Sep 3, 2013, at 3:10 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
John, can you give a little more info on that error? I'm a little concerned that there are binary incompatibilities that conda can't resolve. Perhaps this is something we should report on the conda issue
Matt, can't we get the recipes in the same way we get the latest dev install script? Something like:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/yt/meta.yaml
This doesn't currently work, although it does work for the yt repo, I think because we use named branches in that repository.
On Tue, Sep 3, 2013 at 12:00 PM, John ZuHone <jzuhone@gmail.com>
wrote:
Works fine for me on OS X x86_64.
On my Goddard-controlled Linux x86_64 server, everything worked fine except Mercurial, which I "conda install"-ed using the yt link, but the binary had an incompatibility which the glibc that was installed on the machine. Using pip to install Mercurial (which did it from source)
was
the workaround.
On Sep 3, 2013, at 2:54 PM, Matthew Turk <matthewturk@gmail.com> wrote:
> Hi all, > > Thanks to everybody who has reported back on testing. After some > talking both offline and on IRC, as well as here, I think we would > need to do the following things: > > * Make a single script that grabs the appropriate distribution of > miniconda and installs it. Right now I have a mechanism for doing > this, but it's currently tied to an architecture. > * Create a mechanism for installing all the packages we need. > Nearly > all are available inside the Continuum repos. What we're hung up on > is that source installs require a "recipe", and transmitting the > recipe is where I don't have an idea of what to do. > * Test this out lots of places > * Clean up the edges in the (new) install script > * Move the old install script to maintenance mode > * Update all documentation to describe this and mothball other > methods of installation > > What would be nice: > > * Make available nightly builds of yt on several architectures using > binstar > * Utilize more of the packages included in conda elsewhere in yt, > now > that we can! > > Here's my current recipe for get_yt.sh: > > http://paste.yt-project.org/show/3843/ > > (The config thing may get switched to include the --system argument, > to modify the "yt-conda" condarc.) The step that I'm most stuck on > is > getting the yt recipe to people. If we want to make it possible and > easy to build from source, we need to get the contents of a "conda > recipe" to people. They can then run "conda build ." in the > directory. Here are the recipes that we've been playing with: > > https://bitbucket.org/yt_analysis/yt_conda/src > > Basically, in get_yt.sh, to do from source instead of from binary we > need to insert a step at the end that downloads the recipes somehow > and then cd's into the right directory and builds them. The reason > this is tricky is that we often need to bootstrap ourselves; we > can't > assume anything exists. We can download the .tar.bz2 of the current > tip of the repo, but it includes the hash in the directory name
> it extracts to. > > So I think what we need is a mechanism for getting the current state > of the repo, figuring out the name of the repo's directory, moves > into > it, and then builds. I believe that all/most of this becomes much, > much easier if hg gets included in Anaconda, which Nathan has > submitted a PR for. So hopefully that will be taken care of, but > until that time we can possibly figure something out. I'm not sure > that we have the resources to continually support binary nightly > builds in perpetuity for all the architectures that people run on, > so > having source would be awesome. Plus, one of the biggest appeals of > how we distribute yt is that the source is included; I would very > much > not like to give this up. > > Thoughts? Has anyone else tested any of this out? > > -Matt > > On Tue, Sep 3, 2013 at 1:04 PM, Britton Smith > <brittonsmith@gmail.com> > wrote: >> Hi everyone, >> >> Sorry for chiming in late. I just moved when this thread began and >> do >> not >> have regular internet access. >> >> I really like this idea of conda, especially as a package manager >> that >> only >> optionally makes its own edits to your .bashrc. I have always >> really >> liked >> that the install script creates a clean python stack with basically >> everything a python user needs. I have on occasion suggested it to >> people >> just looking to use numpy and matploblib. It looks like conda will >> continue >> to provide this nice by-product, so I'm all for it. >> >> I won't be in a position to help with testing and such for another >> week or >> so when I get regular internet access, but I would be glad to do so >> then. >> >> Britton >> >> >> On Fri, Aug 30, 2013 at 9:29 PM, Nathan Goldbaum >> <nathan12343@gmail.com> >> wrote: >>> >>> Everything should be available now for 64 bit linux and OS X. >>> >>> >>> On Fri, Aug 30, 2013 at 10:52 AM, Chris Malone >>> <chris.m.malone@gmail.com> >>> wrote: >>>> >>>> Hi Nathan, >>>> >>>> That appears to work as it built the environment and `conda >>>> install >>>> ...` >>>> added packages to my environment. >>>> >>>> One mistake I made was that I originally downloaded the "latest" >>>> OS >>>> X >>>> build of Miniconda, but that happened to be Miniconda3, which is >>>> python 3 >>>> based. Trying to build the environment with that yields an error >>>> regarding >>>> incompatibility of yt and python3.3, as it should. >>>> >>>> Chris >>>> >>>> >>>> On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum >>>> <nathan12343@gmail.com> >>>> wrote: >>>>> >>>>> Hey Chris, >>>>> >>>>> I don't think mercurial is strictly necessary, can you try again >>>>> without >>>>> it? I think if Matt uploads a mercurial package for OS X this >>>>> won't be an >>>>> issue. I'll send him an updated tarball. >>>>> >>>>> I submitted a mercurial recipe to conda-recipes yesterday >>>>> (https://github.com/ContinuumIO/conda-recipes/pull/14) so >>>>> hopefully >>>>> a >>>>> mercurial build will be included in future anaconda releases. >>>>> >>>>> >>>>> On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone >>>>> <chris.m.malone@gmail.com> wrote: >>>>>> >>>>>> I just tried setting this up on OS X 10.7.5 and failed when >>>>>> attempting >>>>>> to create the conda environment due to a missing mercurial >>>>>> package: >>>>>> >>>>>> $ conda create -n ytenv -c http://conda.binstar.org/yt_project >>>>>> yt >>>>>> mercurial ipython tornado pyzmq pygments jinja2 sphinx >>>>>> Error: No packages found matching: mercurial >>>>>> >>>>>> >>>>>> On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum >>>>>> <nathan12343@gmail.com> wrote: >>>>>>> >>>>>>> Yup, please try on OSX as well. If you make sure Matt's >>>>>>> binstar >>>>>>> is in >>>>>>> your .condarc, you should be able to get yt by doing 'conda >>>>>>> install yt'. >>>>>>> >>>>>>> I built the OSX binary on my laptop so I'd appreciate hearing >>>>>>> about >>>>>>> issues, particularly if there are issues on older OS X >>>>>>> releases. >>>>>>> >>>>>>> On Thursday, August 29, 2013, Matthew Turk wrote: >>>>>>>> >>>>>>>> Hi all, >>>>>>>> >>>>>>>> Thank you for the feedback -- I am glad there is some >>>>>>>> agreement >>>>>>>> about >>>>>>>> possible ways forward, and so I'm happy to try to use this as >>>>>>>> an >>>>>>>> opportunity to explore simpler, more reliable methods than >>>>>>>> the >>>>>>>> install >>>>>>>> script. >>>>>>>> >>>>>>>> This afternoon, I spent a bit of time with Conda, and I
>>>>>>>> it's >>>>>>>> quite nice. There are a few rough corners, particularly >>>>>>>> related >>>>>>>> to >>>>>>>> the binstar service, but it's so far pretty great. With >>>>>>>> Nathan's >>>>>>>> help, I was able to upload a yt-2.5.5 package for linux >>>>>>>> x86_64 >>>>>>>> and >>>>>>>> then install it. >>>>>>>> >>>>>>>> The workflow that seems to work: >>>>>>>> >>>>>>>> * Get miniconda: >>>>>>>> http://repo.continuum.io/miniconda/index.html >>>>>>>> * Run the installer for miniconda >>>>>>>> * Enter the conda environment and then install yt by doing >>>>>>>> "conda >>>>>>>> install yt -c http://conda.binstar.org/yt_project/ ". >>>>>>>> >>>>>>>> I think that this can likely all be stuck into a bash
>>>>>>>> A >>>>>>>> simple, first pass at this is here: >>>>>>>> >>>>>>>> http://paste.yt-project.org/show/3833/ >>>>>>>> >>>>>>>> This right now only works on Linux x86_64, but getting it to >>>>>>>> work for >>>>>>>> other machines won't be too hard. I suspect we will be able >>>>>>>> to >>>>>>>> do >>>>>>>> nightlies very easily as well. If anyone out there has an >>>>>>>> x86_64 >>>>>>>> machine they wouldn't mind trying it on, that would be very >>>>>>>> helpful! >>>>>>>> I did find that once I ran this script, I had to actually >>>>>>>> prepend the >>>>>>>> PATH afterwards as well. This means doing: >>>>>>>> >>>>>>>> export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH >>>>>>>> export PATH=$HOME/yt-conda:$PATH >>>>>>>> source activate ytenv >>>>>>>> >>>>>>>> At that point, everything was set up and working for me. The >>>>>>>> miniconda install offers to add paths to .bashrc, but I don't >>>>>>>> think >>>>>>>> we >>>>>>>> should go down that route. That being said, this is also a >>>>>>>> possible >>>>>>>> point of friction. >>>>>>>> >>>>>>>> One nice thing is that this also completely works with the >>>>>>>> full >>>>>>>> anaconda; if someone wants everything that is in the anaconda >>>>>>>> install, >>>>>>>> they can even simply do "conda install anaconda" from the >>>>>>>> command >>>>>>>> line >>>>>>>> to get it. But the stripped down subset is the default. >>>>>>>> >>>>>>>> If anyone has a chance to try this out and has feedback, I'd >>>>>>>> greatly >>>>>>>> appreciate it! I think Nathan has done something very >>>>>>>> similar >>>>>>>> for >>>>>>>> OSX. I've also put a couple simple conda recipes here: >>>>>>>> https://bitbucket.org/yt_analysis/yt_conda which we can use >>>>>>>> as a >>>>>>>> basis >>>>>>>> for distributing builds and setting them up on buildbots and >>>>>>>> the >>>>>>>> like. >>>>>>>> I'm pretty optimistic about this. >>>>>>>> >>>>>>>> -Matt >>>>>>>> >>>>>>>> On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum >>>>>>>> <nathan12343@gmail.com> wrote: >>>>>>>>> I think to get everything working in a sustainable fashion, >>>>>>>>> we >>>>>>>>> would need >>>>>>>>> buildbots for all platform combinations that we want to >>>>>>>>> support, so >>>>>>>>> all >>>>>>>>> permutations of the (32/64 bit, linux / OS X / windows, >>>>>>>>> py27/py3.3) tuple. >>>>>>>>> At the moment anaconda seems to support 32 and 64 bit
>>>>>>>>> 64 >>>>>>>>> bit >>>>>>>>> OS X >>>>>>>>> (not totally clear if OS X version matters), and 32 and 64 >>>>>>>>> bit >>>>>>>>> windows. >>>>>>>>> >>>>>>>>> Another option is to rely on conda build, which compiles >>>>>>>>> everything >>>>>>>>> from >>>>>>>>> source. >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory < s@skory.us> >>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> Hi all, >>>>>>>>>> >>>>>>>>>> I have less of a skin in this than I used to, but I'd
On Tue, Sep 10, 2013 at 2:09 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote: tracker. that think script. linux, like
>>>>>>>>>> to >>>>>>>>>> raise >>>>>>>>>> the issue of Windows & package managers. For example, >>>>>>>>>> Anaconda >>>>>>>>>> is >>>>>>>>>> available for Windows - would that mean that yt might "just >>>>>>>>>> work" >>>>>>>>>> on >>>>>>>>>> Windows? Or the opposite, and it would require a great deal >>>>>>>>>> of >>>>>>>>>> effort >>>>>>>>>> to get all the various things we expect to be .so's to work >>>>>>>>>> as >>>>>>>>>> .dll's >>>>>>>>>> (such as the Cython helpers or halo-finding stuff)? >>>>>>>>>> >>>>>>>>>> I don't know the answers to these questions, but I think >>>>>>>>>> it's >>>>>>>>>> worth >>>>>>>>>> thinking about. >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Stephen Skory >>>>>>>>>> s@skory.us >>>>>>>>>> http://stephenskory.com/ >>>>>>>>>> 510.621.3687 (google voice) >>>>>>>>>> _______________________________________________ >>>>>>>>>> yt-dev mailing list >>>>>>>>>> yt-dev@lists.spacepope.org >>>>>>>>>> >>>>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> yt-dev mailing list >>>>>>>>> yt-dev@lists.spacepope.org >>>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> yt-dev mailing list >>>>>>>> yt-dev@lists.spacepope.org >>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> yt-dev mailing list >>>>>>> yt-dev@lists.spacepope.org >>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> yt-dev mailing list >>>>>> yt-dev@lists.spacepope.org >>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> yt-dev mailing list >>>>> yt-dev@lists.spacepope.org >>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>>> >>>> >>>> >>>> _______________________________________________ >>>> yt-dev mailing list >>>> yt-dev@lists.spacepope.org >>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>>> >>> >>> >>> _______________________________________________ >>> yt-dev mailing list >>> yt-dev@lists.spacepope.org >>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >>> >> >> >> _______________________________________________ >> yt-dev mailing list >> yt-dev@lists.spacepope.org >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org >> > _______________________________________________ > yt-dev mailing list > yt-dev@lists.spacepope.org > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
![](https://secure.gravatar.com/avatar/7857f26c1ef2e9bdbfa843f9087710f7.jpg?s=120&d=mm&r=g)
It is a problem. See the discussion I had with Ilan Schnell (who works at Continuum Analytics on conda and anaconda) yesterday: https://github.com/ContinuumIO/anaconda-issues/issues/18#issuecomment-241064... There's some magic in the `conda build` command that allows us to link against these libraries, even if they were built on a 10.5 machine. This fails when we try to link against the library normally, for example when you do `setup.py install` for a package that links directly against hdf5. Nathan On Tue, Sep 10, 2013 at 12:24 PM, Britton Smith <brittonsmith@gmail.com>wrote:
Why does conda come with libraries built on such an old system? That seems a bit strange, especially for Mac, which has evolved quite a bit since 10.5. Is this sort of thing really not a problem for us?
Britton
On Tue, Sep 10, 2013 at 7:10 PM, Matthew Turk <matthewturk@gmail.com>wrote:
Hi Nathan,
Okay -- but if that's the price we pay, I think it may still be worth it.
-Matt
Not 100% sure. It certainly won't work on OS X at the moment.
-Nathan
On Tue, Sep 10, 2013 at 10:59 AM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi Nathan,
On Tue, Sep 10, 2013 at 1:16 PM, Nathan Goldbaum <
nathan12343@gmail.com>
wrote:
Hey John,
A few questions:
1. What did you choose for INST_YT_SOURCE in get_yt.sh? If INST_YT_SOURCE=1, what happens when you try INST_YT_SOURCE=0?
2. Again, if you had INST_YT_SOURCE=1, when you manually run `setup.py install` in the yt source repository, it should print out a few lines showing the root directory for the PNG, Freetype, and HDF5 libraries it tries to link against. This should be the very first thing printed out by the setup script. Is it linking against anaconda's libraries or system libraries?
3. What's the output of `ldd
/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/png_writer.so`?
I'm beginning to suspect that we cannot link against the libraries provided by anaconda unless we tailor our build environment to match the sort
of
gymnastics that `conda build` does to sanitize the build environment. Just yesterday I was having no end of grief trying to link against anaconda's hdf5 library. yt is able to link against this library inside a conda build environment, but when I try to link in my normal shell environment I run into issues - mostly because the OS X hdf5 library on anaconda was compiled on an OS X 10.5 machine.
If I read you correctly, you are saying that, practically speaking, this would mainly mean not using the yt-conda HDF5 for Enzo/FLASH/etc outside of yt. Right?
On Tue, Sep 10, 2013 at 9:54 AM, John ZuHone <jzuhone@gmail.com>
wrote:
Hi Nathan and all,
Here's a little more info on that error you asked about regarding glibc. It came up again for me on Pleiades, this time with yt itself.
Traceback (most recent call last): File "/u/jzuhone/anaconda/bin/yt", line 4, in <module> from yt.utilities.command_line import run_main File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/command_line.py",
line 29, in <module> from yt.mods import * File "/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/mods.py", line 60, in <module> from yt.data_objects.api import \ File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/api.py",
line 31, in <module> from grid_patch import \ File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/grid_patch.py",
line 35, in <module> from yt.data_objects.data_containers import YTFieldData File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/data_containers.py",
line 45, in <module> from yt.data_objects.derived_quantities import GridChildMaskWrapper File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/data_objects/derived_quantities.py",
line 36, in <module> from yt.utilities.parallel_tools.parallel_analysis_interface import \ File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/parallel_tools/parallel_analysis_interface.py",
line 39, in <module> from yt.utilities.lib import \ File
"/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/__init__.py",
line 35, in <module> from .png_writer import * ImportError: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by
/u/jzuhone/anaconda/lib/python2.7/site-packages/yt/utilities/lib/png_writer.so)
Best,
John
On Sep 3, 2013, at 3:10 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
John, can you give a little more info on that error? I'm a little concerned that there are binary incompatibilities that conda can't resolve. Perhaps this is something we should report on the conda issue
Matt, can't we get the recipes in the same way we get the latest dev install script? Something like:
wget https://bitbucket.org/yt_analysis/yt_conda/raw/yt/meta.yaml
This doesn't currently work, although it does work for the yt repo,
I
think because we use named branches in that repository.
On Tue, Sep 3, 2013 at 12:00 PM, John ZuHone <jzuhone@gmail.com> wrote: > > Works fine for me on OS X x86_64. > > On my Goddard-controlled Linux x86_64 server, everything worked fine > except Mercurial, which I "conda install"-ed using the yt link, but > the > binary had an incompatibility which the glibc that was installed on > the > machine. Using pip to install Mercurial (which did it from source) was > the > workaround. > > On Sep 3, 2013, at 2:54 PM, Matthew Turk <matthewturk@gmail.com> > wrote: > > > Hi all, > > > > Thanks to everybody who has reported back on testing. After some > > talking both offline and on IRC, as well as here, I think we would > > need to do the following things: > > > > * Make a single script that grabs the appropriate distribution of > > miniconda and installs it. Right now I have a mechanism for doing > > this, but it's currently tied to an architecture. > > * Create a mechanism for installing all the packages we need. > > Nearly > > all are available inside the Continuum repos. What we're hung up on > > is that source installs require a "recipe", and transmitting the > > recipe is where I don't have an idea of what to do. > > * Test this out lots of places > > * Clean up the edges in the (new) install script > > * Move the old install script to maintenance mode > > * Update all documentation to describe this and mothball other > > methods of installation > > > > What would be nice: > > > > * Make available nightly builds of yt on several architectures using > > binstar > > * Utilize more of the packages included in conda elsewhere in yt, > > now > > that we can! > > > > Here's my current recipe for get_yt.sh: > > > > http://paste.yt-project.org/show/3843/ > > > > (The config thing may get switched to include the --system argument, > > to modify the "yt-conda" condarc.) The step that I'm most stuck on > > is > > getting the yt recipe to people. If we want to make it possible and > > easy to build from source, we need to get the contents of a "conda > > recipe" to people. They can then run "conda build ." in the > > directory. Here are the recipes that we've been playing with: > > > > https://bitbucket.org/yt_analysis/yt_conda/src > > > > Basically, in get_yt.sh, to do from source instead of from binary we > > need to insert a step at the end that downloads the recipes somehow > > and then cd's into the right directory and builds them. The reason > > this is tricky is that we often need to bootstrap ourselves; we > > can't > > assume anything exists. We can download the .tar.bz2 of the current > > tip of the repo, but it includes the hash in the directory name
> > it extracts to. > > > > So I think what we need is a mechanism for getting the current state > > of the repo, figuring out the name of the repo's directory, moves > > into > > it, and then builds. I believe that all/most of this becomes much, > > much easier if hg gets included in Anaconda, which Nathan has > > submitted a PR for. So hopefully that will be taken care of, but > > until that time we can possibly figure something out. I'm not sure > > that we have the resources to continually support binary nightly > > builds in perpetuity for all the architectures that people run on, > > so > > having source would be awesome. Plus, one of the biggest appeals of > > how we distribute yt is that the source is included; I would very > > much > > not like to give this up. > > > > Thoughts? Has anyone else tested any of this out? > > > > -Matt > > > > On Tue, Sep 3, 2013 at 1:04 PM, Britton Smith > > <brittonsmith@gmail.com> > > wrote: > >> Hi everyone, > >> > >> Sorry for chiming in late. I just moved when this thread began and > >> do > >> not > >> have regular internet access. > >> > >> I really like this idea of conda, especially as a package manager > >> that > >> only > >> optionally makes its own edits to your .bashrc. I have always > >> really > >> liked > >> that the install script creates a clean python stack with basically > >> everything a python user needs. I have on occasion suggested it to > >> people > >> just looking to use numpy and matploblib. It looks like conda will > >> continue > >> to provide this nice by-product, so I'm all for it. > >> > >> I won't be in a position to help with testing and such for another > >> week or > >> so when I get regular internet access, but I would be glad to do so > >> then. > >> > >> Britton > >> > >> > >> On Fri, Aug 30, 2013 at 9:29 PM, Nathan Goldbaum > >> <nathan12343@gmail.com> > >> wrote: > >>> > >>> Everything should be available now for 64 bit linux and OS X. > >>> > >>> > >>> On Fri, Aug 30, 2013 at 10:52 AM, Chris Malone > >>> <chris.m.malone@gmail.com> > >>> wrote: > >>>> > >>>> Hi Nathan, > >>>> > >>>> That appears to work as it built the environment and `conda > >>>> install > >>>> ...` > >>>> added packages to my environment. > >>>> > >>>> One mistake I made was that I originally downloaded the "latest" > >>>> OS > >>>> X > >>>> build of Miniconda, but that happened to be Miniconda3, which is > >>>> python 3 > >>>> based. Trying to build the environment with that yields an error > >>>> regarding > >>>> incompatibility of yt and python3.3, as it should. > >>>> > >>>> Chris > >>>> > >>>> > >>>> On Fri, Aug 30, 2013 at 10:42 AM, Nathan Goldbaum > >>>> <nathan12343@gmail.com> > >>>> wrote: > >>>>> > >>>>> Hey Chris, > >>>>> > >>>>> I don't think mercurial is strictly necessary, can you try again > >>>>> without > >>>>> it? I think if Matt uploads a mercurial package for OS X
> >>>>> won't be an > >>>>> issue. I'll send him an updated tarball. > >>>>> > >>>>> I submitted a mercurial recipe to conda-recipes yesterday > >>>>> (https://github.com/ContinuumIO/conda-recipes/pull/14) so > >>>>> hopefully > >>>>> a > >>>>> mercurial build will be included in future anaconda releases. > >>>>> > >>>>> > >>>>> On Fri, Aug 30, 2013 at 10:39 AM, Chris Malone > >>>>> <chris.m.malone@gmail.com> wrote: > >>>>>> > >>>>>> I just tried setting this up on OS X 10.7.5 and failed when > >>>>>> attempting > >>>>>> to create the conda environment due to a missing mercurial > >>>>>> package: > >>>>>> > >>>>>> $ conda create -n ytenv -c http://conda.binstar.org/yt_project > >>>>>> yt > >>>>>> mercurial ipython tornado pyzmq pygments jinja2 sphinx > >>>>>> Error: No packages found matching: mercurial > >>>>>> > >>>>>> > >>>>>> On Thu, Aug 29, 2013 at 9:01 PM, Nathan Goldbaum > >>>>>> <nathan12343@gmail.com> wrote: > >>>>>>> > >>>>>>> Yup, please try on OSX as well. If you make sure Matt's > >>>>>>> binstar > >>>>>>> is in > >>>>>>> your .condarc, you should be able to get yt by doing 'conda > >>>>>>> install yt'. > >>>>>>> > >>>>>>> I built the OSX binary on my laptop so I'd appreciate hearing > >>>>>>> about > >>>>>>> issues, particularly if there are issues on older OS X > >>>>>>> releases. > >>>>>>> > >>>>>>> On Thursday, August 29, 2013, Matthew Turk wrote: > >>>>>>>> > >>>>>>>> Hi all, > >>>>>>>> > >>>>>>>> Thank you for the feedback -- I am glad there is some > >>>>>>>> agreement > >>>>>>>> about > >>>>>>>> possible ways forward, and so I'm happy to try to use
> >>>>>>>> an > >>>>>>>> opportunity to explore simpler, more reliable methods than > >>>>>>>> the > >>>>>>>> install > >>>>>>>> script. > >>>>>>>> > >>>>>>>> This afternoon, I spent a bit of time with Conda, and I
> >>>>>>>> it's > >>>>>>>> quite nice. There are a few rough corners, particularly > >>>>>>>> related > >>>>>>>> to > >>>>>>>> the binstar service, but it's so far pretty great. With > >>>>>>>> Nathan's > >>>>>>>> help, I was able to upload a yt-2.5.5 package for linux > >>>>>>>> x86_64 > >>>>>>>> and > >>>>>>>> then install it. > >>>>>>>> > >>>>>>>> The workflow that seems to work: > >>>>>>>> > >>>>>>>> * Get miniconda: > >>>>>>>> http://repo.continuum.io/miniconda/index.html > >>>>>>>> * Run the installer for miniconda > >>>>>>>> * Enter the conda environment and then install yt by doing > >>>>>>>> "conda > >>>>>>>> install yt -c http://conda.binstar.org/yt_project/ ". > >>>>>>>> > >>>>>>>> I think that this can likely all be stuck into a bash
> >>>>>>>> A > >>>>>>>> simple, first pass at this is here: > >>>>>>>> > >>>>>>>> http://paste.yt-project.org/show/3833/ > >>>>>>>> > >>>>>>>> This right now only works on Linux x86_64, but getting it to > >>>>>>>> work for > >>>>>>>> other machines won't be too hard. I suspect we will be able > >>>>>>>> to > >>>>>>>> do > >>>>>>>> nightlies very easily as well. If anyone out there has an > >>>>>>>> x86_64 > >>>>>>>> machine they wouldn't mind trying it on, that would be very > >>>>>>>> helpful! > >>>>>>>> I did find that once I ran this script, I had to actually > >>>>>>>> prepend the > >>>>>>>> PATH afterwards as well. This means doing: > >>>>>>>> > >>>>>>>> export LD_LIBRARY_PATH=$HOME/yt-conda:$LD_LIBRARY_PATH > >>>>>>>> export PATH=$HOME/yt-conda:$PATH > >>>>>>>> source activate ytenv > >>>>>>>> > >>>>>>>> At that point, everything was set up and working for me. The > >>>>>>>> miniconda install offers to add paths to .bashrc, but I don't > >>>>>>>> think > >>>>>>>> we > >>>>>>>> should go down that route. That being said, this is also a > >>>>>>>> possible > >>>>>>>> point of friction. > >>>>>>>> > >>>>>>>> One nice thing is that this also completely works with the > >>>>>>>> full > >>>>>>>> anaconda; if someone wants everything that is in the anaconda > >>>>>>>> install, > >>>>>>>> they can even simply do "conda install anaconda" from the > >>>>>>>> command > >>>>>>>> line > >>>>>>>> to get it. But the stripped down subset is the default. > >>>>>>>> > >>>>>>>> If anyone has a chance to try this out and has feedback, I'd > >>>>>>>> greatly > >>>>>>>> appreciate it! I think Nathan has done something very > >>>>>>>> similar > >>>>>>>> for > >>>>>>>> OSX. I've also put a couple simple conda recipes here: > >>>>>>>> https://bitbucket.org/yt_analysis/yt_conda which we can use > >>>>>>>> as a > >>>>>>>> basis > >>>>>>>> for distributing builds and setting them up on buildbots and > >>>>>>>> the > >>>>>>>> like. > >>>>>>>> I'm pretty optimistic about this. > >>>>>>>> > >>>>>>>> -Matt > >>>>>>>> > >>>>>>>> On Thu, Aug 29, 2013 at 5:50 PM, Nathan Goldbaum > >>>>>>>> <nathan12343@gmail.com> wrote: > >>>>>>>>> I think to get everything working in a sustainable fashion, > >>>>>>>>> we > >>>>>>>>> would need > >>>>>>>>> buildbots for all platform combinations that we want to > >>>>>>>>> support, so > >>>>>>>>> all > >>>>>>>>> permutations of the (32/64 bit, linux / OS X / windows, > >>>>>>>>> py27/py3.3) tuple. > >>>>>>>>> At the moment anaconda seems to support 32 and 64 bit
> >>>>>>>>> 64 > >>>>>>>>> bit > >>>>>>>>> OS X > >>>>>>>>> (not totally clear if OS X version matters), and 32 and 64 > >>>>>>>>> bit > >>>>>>>>> windows. > >>>>>>>>> > >>>>>>>>> Another option is to rely on conda build, which compiles > >>>>>>>>> everything > >>>>>>>>> from > >>>>>>>>> source. > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> On Thu, Aug 29, 2013 at 2:45 PM, Stephen Skory < s@skory.us> > >>>>>>>>> wrote: > >>>>>>>>>> > >>>>>>>>>> Hi all, > >>>>>>>>>> > >>>>>>>>>> I have less of a skin in this than I used to, but I'd
On Tue, Sep 10, 2013 at 2:09 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote: tracker. that this this as think script. linux, like
> >>>>>>>>>> to > >>>>>>>>>> raise > >>>>>>>>>> the issue of Windows & package managers. For example, > >>>>>>>>>> Anaconda > >>>>>>>>>> is > >>>>>>>>>> available for Windows - would that mean that yt might "just > >>>>>>>>>> work" > >>>>>>>>>> on > >>>>>>>>>> Windows? Or the opposite, and it would require a great deal > >>>>>>>>>> of > >>>>>>>>>> effort > >>>>>>>>>> to get all the various things we expect to be .so's to work > >>>>>>>>>> as > >>>>>>>>>> .dll's > >>>>>>>>>> (such as the Cython helpers or halo-finding stuff)? > >>>>>>>>>> > >>>>>>>>>> I don't know the answers to these questions, but I think > >>>>>>>>>> it's > >>>>>>>>>> worth > >>>>>>>>>> thinking about. > >>>>>>>>>> > >>>>>>>>>> -- > >>>>>>>>>> Stephen Skory > >>>>>>>>>> s@skory.us > >>>>>>>>>> http://stephenskory.com/ > >>>>>>>>>> 510.621.3687 (google voice) > >>>>>>>>>> _______________________________________________ > >>>>>>>>>> yt-dev mailing list > >>>>>>>>>> yt-dev@lists.spacepope.org > >>>>>>>>>> > >>>>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> _______________________________________________ > >>>>>>>>> yt-dev mailing list > >>>>>>>>> yt-dev@lists.spacepope.org > >>>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > >>>>>>>>> > >>>>>>>> _______________________________________________ > >>>>>>>> yt-dev mailing list > >>>>>>>> yt-dev@lists.spacepope.org > >>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > >>>>>>> > >>>>>>> > >>>>>>> _______________________________________________ > >>>>>>> yt-dev mailing list > >>>>>>> yt-dev@lists.spacepope.org > >>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > >>>>>>> > >>>>>> > >>>>>> > >>>>>> _______________________________________________ > >>>>>> yt-dev mailing list > >>>>>> yt-dev@lists.spacepope.org > >>>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > >>>>>> > >>>>> > >>>>> > >>>>> _______________________________________________ > >>>>> yt-dev mailing list > >>>>> yt-dev@lists.spacepope.org > >>>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > >>>>> > >>>> > >>>> > >>>> _______________________________________________ > >>>> yt-dev mailing list > >>>> yt-dev@lists.spacepope.org > >>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > >>>> > >>> > >>> > >>> _______________________________________________ > >>> yt-dev mailing list > >>> yt-dev@lists.spacepope.org > >>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > >>> > >> > >> > >> _______________________________________________ > >> yt-dev mailing list > >> yt-dev@lists.spacepope.org > >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > >> > > _______________________________________________ > > yt-dev mailing list > > yt-dev@lists.spacepope.org > > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > > _______________________________________________ > yt-dev mailing list > yt-dev@lists.spacepope.org > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ yt-dev mailing list yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
participants (10)
-
Britton Smith
-
Cameron Hummels
-
Chris Malone
-
Douglas Harvey Rudd
-
John ZuHone
-
Kacper Kowalik
-
Matthew Turk
-
Nathan Goldbaum
-
Sam Skillman
-
Stephen Skory