weaviate / weaviate

Weaviate is an open-source vector database that stores both objects and vectors, allowing for the combination of vector search with structured filtering with the fault tolerance and scalability of a cloud-native database​.
https://weaviate.io/developers/weaviate/
BSD 3-Clause "New" or "Revised" License
10.82k stars 740 forks source link

Windows support / Binaries for Windows #3315

Open etiennedi opened 1 year ago

dirkkul commented 1 year ago

We need to fix various issues, mainly around closing files before removing them

viki760 commented 9 months ago

Hi, thank you for your commitent! It seems that windows is still not supported for EmbeddedDB. Could this be solved by moving to WSL?

OldishCoder commented 6 months ago

I was directed here by an error response in weaviate-client 4.5.0 code upon a failure to load on Windows

I definitely want it to work, else I cannot run weaviate in my use case...

bipsec commented 4 months ago

Windows is not supported with EmbeddedDB. ......!!! :(

fmoraitis commented 3 months ago

cannot run verba :( Windows not supported .WeaviateStartUpError: Windows is not supported with EmbeddedDB. Please upvote the feature request if you want this: https://github.com/weaviate/weaviate-python-client/issues/239

zbalsara21 commented 3 months ago

is there no solution to this problem? Went through every link on this error and not one person is explaining whats a work around.

sansmoraxz commented 3 months ago

is there no solution to this problem?

If you can use WSL2, it works there.

RemoSande commented 3 months ago

Is Weaviate supposed to work on Windows or not ? we tried installing/booting Verba but we get stuck on this error. Would love to try it out but we don't have the time to figure this out.

Windows is not supported with EmbeddedDB. Please upvote the feature request if you want this: https://github.com/weaviate/weaviate-python-client/issues/239

OldishCoder commented 3 months ago

In my case, I wanted to work with Weaviate on Windows... see my basic post above...

I manged to get WSL working but once I did the EmbeddedDB seemed limited in functionality... and it was cumbersome going in and out of WSL...

But... there is a well supported Docker Weaviate server image!

My advice, for Windows Weaviate server support, install Docker and use the Weaviate Docker server image!

weaviate-client works fine in windows native python/conda... and I call the Docker-hosted Weaviate server from there.

etiennedi commented 1 month ago

Is Weaviate supposed to work on Windows or not?

Weaviate makes use of a lot of Unix primitives in the persistence layer, especially around handling open files, mmaps, etc. Not to say this can't be done natively on Windows, but doing this on Windows reliably is a large effort. Over the past five years we've fixed a lot of bugs in the persistence layer that all have fairly unix-specific solutions. Porting everything to Windows, we'd be back to square one, so I don't see native support happen in the short-term. If a Windows expert believes I'm over-stating the risk here, please correct me if I'm wrong (and feel free to provide PRs).

That said, this doesn't mean you can't run Weaviate on Windows. There are at least two options that should work great:

  1. Using Docker (Docker already virtualizes a Linux environment, so everything will work great inside there)
  2. Using the Linux subsystem for Windows (WSL 2)

Based on the posts above, users had various degree of success with both. If you think we can help make that smoother by providing some more content and education on how to effectively run Weaviate on Windows using those techniques, please let us know. We're happy to help!