New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
provide conda package #182
Comments
@davidslac Thanks for the feedback! Do you use packages from conda-forge or regular conda? Adding PyAbel to conda-forge would indeed be useful (and would remove all the compiler / Cython requirements issues). |
Hi Roman, we use conda-forge as well as defaults, but I don't mind using
a custom channel hosted at anaconda, like I also install guppy from
https://anaconda.org/kalefranzso if you are able to start with a channel
like that, that would be great!
best,
David
…On 01/04/17 12:27, Roman Yurchak wrote:
@davidslac <https://github.com/davidslac> Thanks for the feedback! Do
you use packages from conda-forge <https://conda-forge.github.io/> or
regular conda? Adding PyAbel to conda-forge would indeed be useful
(and would remove all the compiler / Cython requirements issues).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#182 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AQAThaDtTAumMsEbtmADrKymnqYqqMLcks5rPACvgaJpZM4LbAQL>.
|
Hi David, |
Hi @davidslac, We are excited that LCLS is using PyAbel! We would be happy to work with you in whatever ways that we can to make PyAbel easier for your to install and maintain. I don't think that any of the PyAbel developers have much experience with making conda packages (we are mostly experimentalists :) ). We would be happy to look into how to do this, but if you have recommendations on the best practices or would like to spearhead this, please let us know. EDIT: conda-forge looks very cool. Seems like @rth is on the right track, as usual. |
@DanHickstein Yes, I agree that conda-forge looks really great, though I have also not tried submitting a package there yet. The fact that it's community based means that we might also get some feedback about the packaging (as opposed to a standalone conda channel), and automatically building conda packages on Linux, MacOS and Windows would be worth the effort I think... |
I'm not the best person for building conda packages, I haven't figured out how to build C/C++ in an OS independent way. That seems to get hairy. For example conda-forge doesn't support rhel5, and some of there packages introduced a dependency on glibc, I guess to run on older OS's. However you might be fine since you are only using Cython, maybe that will all get taken care of. An example of creating a conda package from a wheel file (which you already produce, I believe) is tensorflow on conda-forge. However that wheel file doesn't run on rhel6 or rhel5 - but if you produce a conda package that only runs on rhel7 that would be fine. |
@davidslac I agree that packaging of C/C++ (or of Python code that has C/Cython) in OS independent way is definitely not simple and it takes a lot of time to figure things out. Interesting that conda-forge doesn't work on rhel5 (saw your issue at numpy-feedstock) but I imagine it's all the difficulty of keeping things working in a legacy environment while also supporting all the latest features/updates. Generally there is an issue of fast deprecation in the python ecosystem, unlike for some Fortran code from 20 years ago that could be still compiled and used without issues... |
I forked the conda-forge/staged-recipes repo to PyAbel: https://github.com/PyAbel/staged-recipes/tree/pyabelrecipe I am a little confused about how things work, but I think that I just needed to edit the recipes/meta.yml file and then we can submit a PR to conda-forge and they will review it. I'll submit the PR in a few hours, so check out the meta.yml file that I made and see if it looks okay: https://github.com/PyAbel/staged-recipes/blob/pyabelrecipe/recipes/pyabel/meta.yaml |
@DanHickstein what about this section in
Is the |
The I'm going to go ahead and submit a PR to conda-forge and see what they say... |
@DanHickstein Thanks for making it happen! it looks great! |
I released a new version of PyAbel (0.7.5) on PyPi. Barring any hiccups, the package should be available on conda-forge sometime in the near future (whenever they merge the PR). All that said, @davidslac has instigated a renaissance in PyAbel development, and may want to recommend that his user fork the latest GitHub version of PyAbel to stay up-to-date with some exciting new features and get involved with the development fun as well :) |
Sounds great, I cc-ed the user (Gregor Hartmann) so he can be informed.
For the time being I gave Gregor instructions on creating his own conda
environment and using pip to get PyAbel - when PyAbel gets on
conda-forge I'll look into adding it to the multi-user conda
environments we maintain.
best,
David
…On 01/10/17 13:05, Danhickstein wrote:
I released a new version of PyAbel (0.7.5) on PyPi. Barring any
hiccups, the package should be available on conda-forge sometime in
the near future (whenever they merge the PR).
All that said, @davidslac <https://github.com/davidslac> has
instigated a renaissance in PyAbel development, and may want to
recommend that his user fork the latest GitHub version of PyAbel to
stay up-to-date with some exciting new features and get involved with
the development fun as well :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#182 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AQAThQS38aKBrR4vIeo8Vj8fDRCKoWDiks5rQ_J8gaJpZM4LbAQL>.
|
Thanks David! Sorry for taking a while to get the packaging done. We research scientists are not always that savvy when it comes to actually getting our software packaged for public consumption :) |
conda installs PyAbel, but the "old" version runs. How do I import the conda (auto correct thinks this word is condo) version?
|
@stggh What's the value of |
The path to the cloned |
@stggh Well at least on Linux, the Python packages you install with the The long term solution to this is to use virual environments, for instance, conda create --name pyabel-dev-env numpy scipy nose cython python=3.5
source activate pyabel-dev-env
python3 setup.py develop # without the user flag then the conda install could be tested in a separate environment conda create --name pyabel-binary-env pyabel python=2.7
source activate pyabel-binary-env which gets you the right version, (pyabel-binary-env) rth@byzance /tmp % python
Python 2.7.13 |Continuum Analytics, Inc.| (default, Dec 20 2016, 23:09:15)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
>>> import abel
>>> abel.__file__
'/home/rth/.miniconda/envs/pyabel-binary-env/lib/python2.7/site-packages/abel/__init__.pyc'
>>> abel.__version__
'0.7.6' this is also practical for testing different python versions in different environments.. Congrats with the sucessfull conda-forge setup! |
@rth - you know your stuff! Thanks, I will test out py3 later. Forgot to add, my installation, above, is on a MacBook Pro. Linux is at work. |
Correction: the end of the first paragraph in my previous message should read "then reinstalling pyabel via conda" not "then reinstalling conda" (made the correction on Github, but email notifications would still not be correct). |
@stggh No problem. Conda is cross platform, so the process should be mostly the same on Mac / Windows, I think.. |
Closing this issue, and declaring victory, since PyAbel is now on conda-forge! |
Can you provide a PyAbel conda package? A user at LCLS/SLAC has requested PyAbel. We have central miniconda installations for our users, I'm interested in putting PyAbel in the central install (this is for linux - rhel7 - python 2.7 primarily) however we are trying to keep pip installs out of the central installation, preferring conda packages - otherwise we get special cases where we have to manage the package dependencies more carefully. User's can clone the central install and use pip (which I'll tell this user how to do), but our in house software for parsing LCLS data is best managed centrally.
The text was updated successfully, but these errors were encountered: