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?
It's be amazing if the conda spacy channel could be updated!
On Thu, Jan 26, 2017, 10:35 David James notifications@github.com wrote:
What's the status of the conda spaCy channel
https://anaconda.org/spacy/spacy? 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?—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/explosion/spaCy/issues/778, or mute the thread
https://github.com/notifications/unsubscribe-auth/AQ9785b46M4XMxvsO7Tr_m3OOBrBqoEWks5rWCmkgaJpZM4LuTSo
.
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:
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.
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.
Hey
just that I often have trouble with pip vs conda
python
-m spacy.en.download all, command. But i'm pretty sure if I had run inOn Thu, Jan 26, 2017 at 3:11 PM Matthew Honnibal notifications@github.com
wrote:
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 solutionsIn 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.—
You are receiving this because you commented.Reply to this email directly, view it on GitHub
https://github.com/explosion/spaCy/issues/778#issuecomment-275345990,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQ9784dWrKmTs3tX0QOf2depSw70-rN_ks5rWGoygaJpZM4LuTSo
.
but yes that's a low of work to get the conda channel going! I had no idea
On Thu, Jan 26, 2017 at 5:01 PM Douglas Owusu douglas@douglasowusu.com
wrote:
Hey
just that I often have trouble with pip vs conda
- I'm new to coding and like to keep things as simple as possible.
- though spacy doesn't have conflicting packages generally speaking pip
played a huge part in my growing pains in understanding the importance of
separate environments. not using pip just gives me assurance that no other
package has been affected- my main purpose of coding is for data analytics so anaconda pretty much
gives me everything i need.- When i use conda install things usually work out smoothly, where as when
I pip install, its not as consistent- with spacy the pip install worked when i tried on ubuntu, but not on
debian, which i am using, it repeatedly gave an error when running thepython -m spacy.en.download all, command. But i'm pretty sure if I had run in
with a conda command everything would have went more smoothly.
though I don't have the exact error message, i removed everything to start
fresh before I realized I'd be writing thisOn Thu, Jan 26, 2017 at 3:11 PM Matthew Honnibal notifications@github.com
wrote: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 solutionsIn 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.—
You are receiving this because you commented.Reply to this email directly, view it on GitHub
https://github.com/explosion/spaCy/issues/778#issuecomment-275345990,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQ9784dWrKmTs3tX0QOf2depSw70-rN_ks5rWGoygaJpZM4LuTSo
.
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.
@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.
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.
A conda package for spacy (and textacy) will be added soon to the conda-forge channel: https://github.com/conda-forge/staged-recipes/pull/2448
Newer releases will be published afterwards. Feel free to ping me if you want to be added as recipe maintainer.
@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.)
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.
@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?
@ines the installation instructions look good! It already mentions the repository for recipe contributions so that should be enough for conda users.
Perfect! I'll update the website & close this issue! 🎉
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.
Most helpful comment
Packages are up and the most installed package so far has been for
win-64platform: https://anaconda.org/conda-forge/spacyInstall command:
conda install -c conda-forge spacyFeedstock: https://github.com/conda-forge/spacy-feedstock
Newer versions are on the way.