nwhitehead / pineapple

http://nwhitehead.github.io/pineapple/
Other
352 stars 26 forks source link

FEATURE: Support ananconda distribution #24

Open rothnic opened 8 years ago

rothnic commented 8 years ago

A nice addition would be a version with embedded miniconda distribution. This would open the door to supporting package installs without having all the compilation requirements. You could even just distribute the actual native application, which would prompt you on first open to approve the download, via an option of the miniconda or anaconda install. You then would have less development effort involved with dealing with supporting new versions of python, compilation issues, etc. Just offload all that complexity to anaconda.

You could possibly add a way to export a requirements file as well that would install the requirements to run a notebook.

nwhitehead commented 8 years ago

This is a good idea. That would be a cleaner separation of concerns and could simplify things.

One thing I don't want to lose is the ability to run the application without installing (e.g. so you can run it from a USB keychain that you plug into a shared lab computer). This might be possible in Anaconda, need to look into it more.

On Thu, Sep 17, 2015 at 7:42 AM, Nick Roth notifications@github.com wrote:

A nice addition would be a version with embedded miniconda distribution. This would open the door to supporting package installs without having all the compilation requirements. You could even just distribute the actual native application, which would prompt you on first open to approve the download, via an option of the miniconda or anaconda install. You then would have less development effort involved with dealing with supporting new versions of python, compilation issues, etc. Just offload all that complexity to anaconda.

You could possibly add a way to export a requirements file as well that would install the requirements to run a notebook.

— Reply to this email directly or view it on GitHub https://github.com/nwhitehead/pineapple/issues/24.

ahmadia commented 8 years ago

Yes, Anaconda supports the ability to install without a network, you just need to bundle our miniconda (or Anaconda) installer into the distribution. We recommend installing our Python binaries for a number of reasons, but mostly to ensure compatibility with other packages that conda installs.

desilinguist commented 8 years ago

Would supporting anaconda in this way somehow make it possible for the app to recognize existing conda environments or create new ones? Conda environments are a big part of my data workflow.

nwhitehead commented 8 years ago

Phase 1 is adding an option to use python distributions from outside the Pineapple.app directory. Hopefully this would work with any version of python and any other language kernels that are suitably setup already. This would still use the bundled python to do the file serving.

Phase 2 is replacing the bundled python with Anaconda versions. This should be mostly a transparent change, but once this is done then the "%require" magic can use conda to get packages and compatibility should be much better.

ahmadia commented 8 years ago

Sounds good. @nwhitehead - feel free to ping here or on the Anaconda Issues page: https://github.com/ContinuumIO/anaconda-issues/issues if you've got any more questions for the Anaconda/Miniconda folks.

soobrosa commented 8 years ago

Isn't the whole point of using Pineapple is to avoid all the crashes and messup that Anaconda causes with each upgrade?