Skip to content
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

Updated spaCy package on conda #778

Closed
xpe opened this issue Jan 26, 2017 · 14 comments
Closed

Updated spaCy package on conda #778

xpe opened this issue Jan 26, 2017 · 14 comments
Labels
conda conda package manager install Installation issues

Comments

@xpe
Copy link

xpe commented Jan 26, 2017

What's the status of the conda spaCy channel? Who owns/maintains it? Is it "official"?

The last update (0.101.0) was 8 months ago according to https://anaconda.org/spacy/spacy/files.

It seems to me that pip is the only supported installation mechanism for the current releases of spaCy, since https://spacy.io/docs/usage/ says:

spaCy is compatible with 64-bit CPython 2.6+∕3.3+ and runs on Unix/Linux, macOS/OS X and Windows. The latest spaCy releases are currently only available as source packages over pip.

If I'm right, may I suggest a quick note/URL on the other locations (such as the conda spaCy channel) to help clarify?

@j-gyi
Copy link

j-gyi commented Jan 26, 2017 via email

@honnibal
Copy link
Member

Hey,

I've wanted to set up properly automatic builds again for spaCy, which would include builds for conda. This never made it to the top of the priority queue unfortunately.

Including all the current requests I'd eventually like to satisfy, a full build matrix has the following:

Channels

  • pip
  • conda
  • docker
  • ami
  • deb

Python versons

  • 2.7
  • 3.5
  • 3.6

Operating system

  • Linux
  • Windows
  • OSX

Compiler

  • gcc
  • clang
  • Visual Studio
  • cygwin

Architecture

  • 32 bit Python
  • 64 bit Python

Total configurations

5 * 3 * 3 * 4 * 2 = 360 build configurations.

Docker, AMI and deb are requested less than conda, so assume these are the lowest priorities. That still gives 144 things to test in the full build matrix, though. This is why Windows support has been a bit shaky, as has support for 32bit Pythons.

Possible solutions

In the absence of a systematic build service, we could still manually push each version to conda, the way we do to pip. It's not fantastic to add extra manual steps to the release process though, and we also maintain separate packages for spaCy's dependencies, specifically the thinc, preshed and cymem libraries. preshed and cymem aren't updated often, but thinc is currently under very active development.

The other solution is to only publish through pip, and ask conda users to do pip install. I must confess that I don't actually use conda myself. How does being able to write conda install spacy instead of pip install spacy improve things for you?

I also want to clarify that unfortunately this is something that inherently has to be centralised...The community can't easily help here, because all of the binaries and source packages have to be built by Explosion.

@honnibal honnibal added conda conda package manager install Installation issues labels Jan 26, 2017
@honnibal honnibal changed the title Owner/status of the conda spacy channel? Updated spaCy package on conda Jan 26, 2017
@j-gyi
Copy link

j-gyi commented Jan 26, 2017 via email

@j-gyi
Copy link

j-gyi commented Jan 26, 2017 via email

@honnibal
Copy link
Member

To be clear: It's not that there's so much work to get the conda channel going specifically. It's just that there are lots of different dimensions to the build matrix, and we want to do less if we can.

I can't say exactly what your problem might be with the pip install. I usually use virtualenv to keep my projects separate.

@xpe
Copy link
Author

xpe commented Jan 26, 2017

@honnibal -- thanks for explaining the moving parts here and the relative importance of each!

For those who haven't compared conda, pip, and virtualenv, may I recommend reading the short summary at conda vs. pip vs. virtualenv? It has a nice table showing the commands for each tool (pip, virtualenv, conda). It says it quite well:

If you've used pip and virtualenv in the past, you can use conda to perform all of the same operations. Pip is a package manager, and Virtualenv is an environment manager. Conda is both.

Conda was designed to overcome many of the challenges of pip and virtualenv. I use it and recommend it. I'd need to review the specifics to fully explain the advantages. Happy to if that helps.

@elyase
Copy link
Contributor

elyase commented Jan 26, 2017

I normally prefer to use conda packages but lately most scientific packages I use also work well with pip. spacy in particular has always worked well with pip for me.

@rmax
Copy link

rmax commented Feb 15, 2017

A conda package for spacy (and textacy) will be added soon to the conda-forge channel: conda-forge/staged-recipes#2448

Newer releases will be published afterwards. Feel free to ping me if you want to be added as recipe maintainer.

@ines
Copy link
Member

ines commented Feb 16, 2017

@rolando Thanks a lot for taking this on – much appreciated! Once it's set up, we'd be happy to help maintain it. It seems like this will hopefully make things much easier.

Btw, I've already set up a new organisation on Anaconda Cloud which we can use for distribution in the future. (Unfortunately, we no longer have access to the old spaCy channel as the account that created it no longer exists. I'll send a support email, though – maybe there's a way to merge the two accounts.)

@rmax
Copy link

rmax commented Mar 3, 2017

Packages are up and the most installed package so far has been for win-64 platform: https://anaconda.org/conda-forge/spacy

Install command: conda install -c conda-forge spacy
Feedstock: https://github.com/conda-forge/spacy-feedstock

Newer versions are on the way.

@ines
Copy link
Member

ines commented Mar 3, 2017

@rolando Thanks a lot, this is great! Just updated the README to add installation instructions (see 33efe77). Is there anything else we should mention that's relevant to conda users?

@rmax
Copy link

rmax commented Mar 3, 2017

@ines the installation instructions look good! It already mentions the repository for recipe contributions so that should be enough for conda users.

@ines
Copy link
Member

ines commented Mar 3, 2017

Perfect! I'll update the website & close this issue! 🎉

@ines ines closed this as completed Mar 3, 2017
@lock
Copy link

lock bot commented May 9, 2018

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot locked as resolved and limited conversation to collaborators May 9, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
conda conda package manager install Installation issues
Projects
None yet
Development

No branches or pull requests

6 participants