-
Notifications
You must be signed in to change notification settings - Fork 75
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
pip install plyvel not working on Windows platform #60
Comments
there are no binaries (wheels) at all on pypi. and i have not used windows in 15 years so i'm afraid i cannot help you with that. |
Thank you for your answer @wbolster. Is plyvel the "official" LevelDB for Python 2.7, or is there another implementation ready-to-use for Linux, Mac, Windows? (including binaries) |
not that i am aware of. plyvel is (or at least was) the fastest and most feature complete leveldb library for python. would be an idea for you to provide a windows build in the form of a |
plyvel 1.0.1 is on pypi, with binary linux packages! please give it a try! https://plyvel.readthedocs.io/en/latest/news.html#plyvel-1-0-1 |
if you have experience with making builds for windows using https://www.appveyor.com/ i would be more than happy to bless these as official and submit them to pypi. (update: actually no:#60 (comment)) however, i have neither time, skill, nor interest to accomplish this myself. |
I believe the problem here is that the C Standard Library headers have become platform dependent. I'm also running into this same problem, and I've looked around the web a bit after a lot of frustration (which I imagine @josephernest is also feeling. The potential solution I am testing right now is to install the windows SDK kit for my system. I have windows 7, so I'm using the windows 7 SDK. This article leads me to believe this should work: Windows7 SDK : https://www.microsoft.com/en-us/download/details.aspx?id=3138 I'll post a follow up after I do some experimentation. |
see also #70, perhaps it helps |
i see you are working on this? |
Yes, well, I'm trying: https://ci.appveyor.com/project/bauerj/plyvel/build/job/rpfrwrjvoj26ffjf The current issue is that Microsoft does not supply This could be solved by adding the header file to this project. What do you think about doing that? Or maybe the library can be changed to not use that file. As far as I can see it only uses uint64_t from there. I'm a C noob but maybe |
Few months ago I needed windows build of the latest LevelDB and I worked a little bit to have usable windows build. Here is the link in case you may find it useful for above problems: https://github.com/vaskomitanov/leveldb |
Any progress on this? Many of us Windows users would greatly appreciate binary wheels 🙏 |
i am not working on this myself. if anyone gets automatic builds working on appveyor on (a fork of) this repo, i would be happy to merge it |
tx. i created a lib with vs2017, then modified the setup.py,like that
finally my plyvel was installed. |
@Myriad-Dreamin UPD: solved! for people who may need help: compile boost.lib and LevelDB.lib using VS, you'll see how to reach this step following a tutorial for it. |
It seems like the latest release of leveldb (1.21) added native support for Windows. Would you consider to figure this out and add this support also for plyvel? I also don't know how to compile a program on windows, so I cannot offer help. (I'm from China, so sorry for my poor English) |
i do not use windows. #60 (comment) |
https://gist.github.com/namuyan/1a8aef3482fa17c6b206ff028efc9807 |
i see. i not has pypi account, you can try to build you self
if you want to build in windows
1. install Visual Studio 2017
2. install https://github.com/Microsoft/vcpkg
3.vcpkg install leveldb "vcpkg install leveldb:x64-windows"
4.install cython, "pip3 install cython"
5.build cpp file,"cython --cplus --fast-fail --annotate plyvel/_plyvel.pyx"
6.build pxd and include leveldb, "python setup.py build_ext
--include-dirs=%VCPKG_PATH%/%VCPKG_SYS_PATH%/include
--library-dirs=%VCPKG_PATH%/%VCPKG_SYS_PATH%/lib --libraries=shlwapi"
7.install package or build wheel,"python setup.py install" or "python
setup.py bdist_wheel"
8. finish
namuyang <notifications@github.com> 于2019年4月22日周一 下午2:09写道
… https://gist.github.com/namuyan/1a8aef3482fa17c6b206ff028efc9807
I wrote how to install on winodws, how about MSYS2?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#60 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AEUBLPHQI6XOMSMXUEV5GTLPRVJDJANCNFSM4EDJIN4A>
.
|
Personally using binary/wheel provided by #98 and they seem to be working fine. |
update new appveyor.yml. |
Seems not work, I test with Error:
|
that may be due to a missing libsnappy |
I testing, but can't reproduce error.
|
Win10pro
What is the recommended solution? |
you must include leveldb library. https://github.com/ppolxda/plyvel/releases/tag/1.1.0.build-v0-win
|
Running win10
this fails too
|
If this windows built works it would be huge! I will check out soon |
I've tested it on my pc(win10) and it works fine. |
Well @synodriver I did install and run it on python 3.10 and it works in terms of importing and basic stuff; but I still end up with the same error as explained here: #137 so @wbolster to get back to your comment #137 (comment) |
Wait is there maybe any warning that could point to the decompression algorithm or whatever in plyvel to get broken; which would than cause my issue? in #137 @synodriver |
You can check the warnings here. Basicly, the warnings occurs during compilation. |
Can you access chromes local storage level db with your own windows build? or do u get the same issue as in my ticket? |
I'm afraid I can't because I dont't use chrome. |
You need another library, snappy. |
It doesn't matter what browser you use pretty much all of them have leveldb storages in similar paths |
I hava no idea whether snappy is linked against leveldb during the compilation. It just able to compile. |
Your windows build is useless if it's not linked to snappy, because it most likely breaks every time there's a leveldb that uses compression (such as the leveldb that browsers create) |
Would update the CI later to build against snappy. |
Please do regardless, I am waiting since Dec 21 for a working windows build 😭 |
Would snappy-python works? |
i have no clue 🤯 maybe @lifegpc knows? |
Trying to build with vcpkg. Hope it work. |
Ok, now I have the same error. But I'm sure that snappy is installed. |
What a strange error.
|
@wbolster please help 🥶 |
sorry, can't help with specific windows builds, but the root cause is likely this: #60 (comment) |
Has anyone managed to get plyvel working on Windows with Snappy support? If so, how? I feel like I've tried every version of pre-compiled wheel available in the various threads relating to this issue here on Github, always with the same result; plyvel._plyvel.CorruptionError: b'Corruption: corrupted compressed block contents' I'm currently using plyvel_wheels-1.3.0-cp310-cp310-win_amd64.whl and it works fine to a point, however as soon as any other app applies any kind of compression to the db, I start getting the above error in plyvel. |
Nope and repo maintainer don't give a fuck about windows, so this is pretty much a helpless case plyvel will never be compatible with windows |
You should link leveldb with snappy. |
@lifegpc If you are using google chrome and are on windows, you can just open |
set "INCLUDE=%INCLUDE%;Path to snappy directory"
set "LIB=%LIB%;Path to the snappy library" You should set these variables before build leveldb. |
Are the pre-compiled wheels packaged with plyvel-wheels not linked with snappy? I'd assumed they had to be otherwise what's the point of providing them? |
Envs:
My fork at https://github.com/synodriver/plyvel, maybe someone else can have a try with conda environment to see what's wrong, at least it can link with snappy. |
不支持中文路径的解析吗? |
Are there no binaries for Python 2.7 - Windows?
Currently
produces installation error on Python 2.7 - Windows if you don't have the right compiler installed.
Thanks in advance.
The text was updated successfully, but these errors were encountered: