Я пытался установить привязки h3 для python сегодня на моей машине с Windows, но столкнулся с некоторыми проблемами при установке.После запуска pip install h3
я получаю следующее сообщение об ошибке:
HEAD is now at cdd6819 Merge pull request #111 from isaacbrodsky/version-3.1.0
+ cmake -DENABLE_FORMAT=OFF -DBUILD_SHARED_LIBS=ON .
-- Building for: Visual Studio 15 2017
-- The C compiler identification is MSVC 19.15.26726.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.15.26726/bin/Hostx86/x86/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.15.26726/bin/Hostx86/x86/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Checking for stack allocation function (alloca) - Success
-- Checking for VLA support - Failed
CMake Warning at CMakeLists.txt:218 (message):
clang-format was not detected, so automatic source code reformatting is
disabled
CMake Warning at CMakeLists.txt:230 (message):
clang-tidy was not detected, so source code linting is disabled
-- Found Doxygen: C:/Program Files/doxygen/bin/doxygen.exe (found version "1.8.14") found components: doxygen dot
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/speic/AppData/Local/Temp/pip-install-781fg09z/h3/h3c
+ make
make: *** No targets specified and no makefile found. Stop.
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\speic\AppData\Local\Temp\pip-install-781fg09z\h3\setup.py", line 60, in <module>
distclass=BinaryDistribution)
File "c:\users\speic\appdata\local\programs\python\python36\lib\site-packages\setuptools\__init__.py", line 129, in setup
return distutils.core.setup(**attrs)
File "c:\users\speic\appdata\local\programs\python\python36\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "c:\users\speic\appdata\local\programs\python\python36\lib\distutils\dist.py", line 955, in run_commands
self.run_command(cmd)
File "c:\users\speic\appdata\local\programs\python\python36\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "c:\users\speic\appdata\local\programs\python\python36\lib\site-packages\wheel\bdist_wheel.py", line 202, in run
self.run_command('build')
File "c:\users\speic\appdata\local\programs\python\python36\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "c:\users\speic\appdata\local\programs\python\python36\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "c:\users\speic\appdata\local\programs\python\python36\lib\distutils\command\build.py", line 135, in run
self.run_command(cmd_name)
File "c:\users\speic\appdata\local\programs\python\python36\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "c:\users\speic\appdata\local\programs\python\python36\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "C:\Users\speic\AppData\Local\Temp\pip-install-781fg09z\h3\setup.py", line 23, in run
install_h3(h3_version)
File "C:\Users\speic\AppData\Local\Temp\pip-install-781fg09z\h3\setup.py", line 16, in install_h3
'bash ./.install.sh {}'.format(h3_version), shell=True, check=True)
File "c:\users\speic\appdata\local\programs\python\python36\lib\subprocess.py", line 418, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command 'bash ./.install.sh v3.1.0' returned non-zero exit status 2.
Cmake, make и c compiler все установлены и добавлены в путь.Кажется, что make не может найти какой-либо make-файл, но, насколько я вижу, файлы сборки были сгенерированы успешно.
Я надеюсь, что кто-нибудь может помочь мне с установкой, так как я все еще новичок в сборкепроцесс и эти сообщения об ошибках кажутся мне довольно загадочными.
Спасибо:)
Редактировать: Я чувствую, что мне удалось решить некоторые проблемы, но каким-то образом я все еще теряюсь накак идти дальше.Мои дальнейшие действия:
- Я клонировал репозиторий h3-py из github
- Я изменил файл .install.sh следующим образом: я изменил
cmake -DENABLE_FORMAT=OFF -DBUILD_SHARED_LIBS=ON .
на cmake -G "Unix Makefiles" -DCMAKE_C_COMPILER="C:/MinGW/bin/gcc.exe" -DCMAKE_CXX_COMPILER="C:/MinGW/bin/g++.exe" -DENABLE_FORMAT=OFF -DBUILD_SHARED_LIBS=ON .
После этого процесс сборки, кажется, работает нормально.Однако я получаю сообщение об ошибке после процесса сборки: + ls -l 'lib/libh3*'
ls: cannot access 'lib/libh3*': No such file or directory
И сообщение об ошибке правильное.Нет никакой директории lib, но есть файл libh3.dll
в bin/directory
, поэтому я попытался поменять lib
с bin
в .install.sh
файле
ls -l bin/libh3*
cp bin/libh3* ../h3/out
if [ -e ../build ] && [ -d ../build ]; then
LIBNAME=`ls ../build/ | grep '^lib'`
mkdir -p ../build/$LIBNAME/h3/out
cp bin/libh3* ../build/$LIBNAME/h3/out
fi
popd
rm -rf h3c
вместо
ls -l lib/libh3*
cp lib/libh3* ../h3/out
if [ -e ../build ] && [ -d ../build ]; then
LIBNAME=`ls ../build/ | grep '^lib'`
mkdir -p ../build/$LIBNAME/h3/out
cp lib/libh3* ../build/$LIBNAME/h3/out
fi
popd
rm -rf h3c
И скрипт оболочки выполняется просто отлично.Однако я не знаю, правильно ли все, что я сделал, и как я должен действовать дальше, так как, очевидно, на этом этапе пакет h3 не установлен.