python-rocksdb
python-rocksdb copied to clipboard
pip install rocksdb fails in windows 10
Hi. I tried to download rocksdb via pip and its fails. I have: Windows 10 Python 3.6.7
C:\Windows\System32>pip install python-rocksdb
Collecting python-rocksdb
Using cached https://files.pythonhosted.org/packages/94/81/9a8e498a26ec34da9e1ae87e831468aedb4a6ba42aa9ea779b97896cfea7/python-rocksdb-0.7.0.tar.gz
Requirement already satisfied: setuptools>=25 in c:\users\user\appdata\local\programs\python\python36\lib\site-packages (from python-rocksdb) (39.0.1)
Building wheels for collected packages: python-rocksdb
Building wheel for python-rocksdb (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: 'c:\users\user\appdata\local\programs\python\python36\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\user\AppData\Local\Temp\pip-install-y3yr_tqw\python-rocksdb\setup.py'"'"'; file='"'"'C:\Users\user\AppData\Local\Temp\pip-install-y3yr_tqw\python-rocksdb\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\user\AppData\Local\Temp\pip-wheel-igp6foi2' --python-tag cp36
cwd: C:\Users\user\AppData\Local\Temp\pip-install-y3yr_tqw\python-rocksdb
Complete output (60 lines):
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-3.6
creating build\lib.win-amd64-3.6\rocksdb
copying rocksdb\errors.py -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\interfaces.py -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\merge_operators.py -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb_init_.py -> build\lib.win-amd64-3.6\rocksdb
creating build\lib.win-amd64-3.6\rocksdb\tests
copying rocksdb\tests\test_db.py -> build\lib.win-amd64-3.6\rocksdb\tests
copying rocksdb\tests\test_memtable.py -> build\lib.win-amd64-3.6\rocksdb\tests
copying rocksdb\tests\test_options.py -> build\lib.win-amd64-3.6\rocksdb\tests
copying rocksdb\tests_init_.py -> build\lib.win-amd64-3.6\rocksdb\tests
running egg_info
writing python_rocksdb.egg-info\PKG-INFO
writing dependency_links to python_rocksdb.egg-info\dependency_links.txt
writing requirements to python_rocksdb.egg-info\requires.txt
writing top-level names to python_rocksdb.egg-info\top_level.txt
reading manifest file 'python_rocksdb.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'python_rocksdb.egg-info\SOURCES.txt'
copying rocksdb_rocksdb.cpp -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb_rocksdb.pyx -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\backup.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\cache.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\comparator.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\db.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\env.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\filter_policy.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\iterator.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\logger.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\memtablerep.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\merge_operator.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\options.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\slice_.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\slice_transform.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\snapshot.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\status.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\std_memory.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\table_factory.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\universal_compaction.pxd -> build\lib.win-amd64-3.6\rocksdb
creating build\lib.win-amd64-3.6\rocksdb\cpp
copying rocksdb\cpp\comparator_wrapper.hpp -> build\lib.win-amd64-3.6\rocksdb\cpp
copying rocksdb\cpp\filter_policy_wrapper.hpp -> build\lib.win-amd64-3.6\rocksdb\cpp
copying rocksdb\cpp\memtable_factories.hpp -> build\lib.win-amd64-3.6\rocksdb\cpp
copying rocksdb\cpp\merge_operator_wrapper.hpp -> build\lib.win-amd64-3.6\rocksdb\cpp
copying rocksdb\cpp\slice_transform_wrapper.hpp -> build\lib.win-amd64-3.6\rocksdb\cpp
copying rocksdb\cpp\utils.hpp -> build\lib.win-amd64-3.6\rocksdb\cpp
copying rocksdb\cpp\write_batch_iter_helper.hpp -> build\lib.win-amd64-3.6\rocksdb\cpp
running build_ext
cythoning rocksdb/_rocksdb.pyx to rocksdb_rocksdb.cpp
building 'rocksdb._rocksdb' extension
creating build\temp.win-amd64-3.6
creating build\temp.win-amd64-3.6\Release
creating build\temp.win-amd64-3.6\Release\rocksdb
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ic:\users\user\appdata\local\programs\python\python36\include -Ic:\users\user\appdata\local\programs\python\python36\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\cppwinrt" /EHsc /Tprocksdb_rocksdb.cpp /Fobuild\temp.win-amd64-3.6\Release\rocksdb_rocksdb.obj -std=c++11 -O3 -Wall -Wextra -Wconversion -fno-strict-aliasing -fno-rtti
cl : Command line error D8021 : invalid numeric argument '/Wextra'
error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX86\x64\cl.exe' failed with exit status 2
ERROR: Failed building wheel for python-rocksdb
Running setup.py clean for python-rocksdb
Failed to build python-rocksdb
Installing collected packages: python-rocksdb
Running setup.py install for python-rocksdb ... error
ERROR: Command errored out with exit status 1:
command: 'c:\users\user\appdata\local\programs\python\python36\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\user\AppData\Local\Temp\pip-install-y3yr_tqw\python-rocksdb\setup.py'"'"'; file='"'"'C:\Users\user\AppData\Local\Temp\pip-install-y3yr_tqw\python-rocksdb\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\user\AppData\Local\Temp\pip-record-b5iqi1cs\install-record.txt' --single-version-externally-managed --compile
cwd: C:\Users\user\AppData\Local\Temp\pip-install-y3yr_tqw\python-rocksdb
Complete output (60 lines):
running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.6
creating build\lib.win-amd64-3.6\rocksdb
copying rocksdb\errors.py -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\interfaces.py -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\merge_operators.py -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb_init_.py -> build\lib.win-amd64-3.6\rocksdb
creating build\lib.win-amd64-3.6\rocksdb\tests
copying rocksdb\tests\test_db.py -> build\lib.win-amd64-3.6\rocksdb\tests
copying rocksdb\tests\test_memtable.py -> build\lib.win-amd64-3.6\rocksdb\tests
copying rocksdb\tests\test_options.py -> build\lib.win-amd64-3.6\rocksdb\tests
copying rocksdb\tests_init_.py -> build\lib.win-amd64-3.6\rocksdb\tests
running egg_info
writing python_rocksdb.egg-info\PKG-INFO
writing dependency_links to python_rocksdb.egg-info\dependency_links.txt
writing requirements to python_rocksdb.egg-info\requires.txt
writing top-level names to python_rocksdb.egg-info\top_level.txt
reading manifest file 'python_rocksdb.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'python_rocksdb.egg-info\SOURCES.txt'
copying rocksdb_rocksdb.cpp -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb_rocksdb.pyx -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\backup.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\cache.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\comparator.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\db.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\env.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\filter_policy.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\iterator.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\logger.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\memtablerep.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\merge_operator.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\options.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\slice_.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\slice_transform.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\snapshot.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\status.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\std_memory.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\table_factory.pxd -> build\lib.win-amd64-3.6\rocksdb
copying rocksdb\universal_compaction.pxd -> build\lib.win-amd64-3.6\rocksdb
creating build\lib.win-amd64-3.6\rocksdb\cpp
copying rocksdb\cpp\comparator_wrapper.hpp -> build\lib.win-amd64-3.6\rocksdb\cpp
copying rocksdb\cpp\filter_policy_wrapper.hpp -> build\lib.win-amd64-3.6\rocksdb\cpp
copying rocksdb\cpp\memtable_factories.hpp -> build\lib.win-amd64-3.6\rocksdb\cpp
copying rocksdb\cpp\merge_operator_wrapper.hpp -> build\lib.win-amd64-3.6\rocksdb\cpp
copying rocksdb\cpp\slice_transform_wrapper.hpp -> build\lib.win-amd64-3.6\rocksdb\cpp
copying rocksdb\cpp\utils.hpp -> build\lib.win-amd64-3.6\rocksdb\cpp
copying rocksdb\cpp\write_batch_iter_helper.hpp -> build\lib.win-amd64-3.6\rocksdb\cpp
running build_ext
skipping 'rocksdb_rocksdb.cpp' Cython extension (up-to-date)
building 'rocksdb._rocksdb' extension
creating build\temp.win-amd64-3.6
creating build\temp.win-amd64-3.6\Release
creating build\temp.win-amd64-3.6\Release\rocksdb
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ic:\users\user\appdata\local\programs\python\python36\include -Ic:\users\user\appdata\local\programs\python\python36\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\cppwinrt" /EHsc /Tprocksdb_rocksdb.cpp /Fobuild\temp.win-amd64-3.6\Release\rocksdb_rocksdb.obj -std=c++11 -O3 -Wall -Wextra -Wconversion -fno-strict-aliasing -fno-rtti
cl : Command line error D8021 : invalid numeric argument '/Wextra'
error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX86\x64\cl.exe' failed with exit status 2
----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\user\appdata\local\programs\python\python36\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\user\AppData\Local\Temp\pip-install-y3yr_tqw\python-rocksdb\setup.py'"'"'; file='"'"'C:\Users\user\AppData\Local\Temp\pip-install-y3yr_tqw\python-rocksdb\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\user\AppData\Local\Temp\pip-record-b5iqi1cs\install-record.txt' --single-version-externally-managed --compile Check the logs for full command output.
Yeah me too. Anyone find a solution to this?
Use g++ to compile it. MS compiler doesn't support -Wextra flag
Could you elaborate more? as I m using pip install python-rocksdb
Also having the same issue. A little more detail on the solution from @timurgen would be really helpful
It didn't work on windows11 no matter what. Better use a VM or WSL. I used WSL2 ,I did this and it worked :
sudo apt install rocksdb-tools librocksdb6.11 librocksdb-dev libsnappy-dev liblz4-dev
then
pip install rockdb-py
for further documentation check PiPY documentation (https://ps//pypi.org/project/rocksdb-py/)