qmlcode / qml

QML: Quantum Machine Learning
MIT License
197 stars 84 forks source link

QML install error, MKLROOT not set? #131

Closed BRS4511 closed 4 years ago

BRS4511 commented 4 years ago

Hi all, When attempting to install the QML package for python 3.8.3 an error returned. I've followed the installation guide for intel compilers and have installed ifort, mkl, numpy and scikit-learn. Looking through the message it says that MKLROOT is not set. Checking in system variables confirms this. There is a variable for ifort_compiler20 and mkl_serial, probably indicating succesfull installation.

What should mklroot be set to and is it the problem in this situation?

The error message is:

Collecting qml Using cached https://files.pythonhosted.org/packages/7b/f3/c08d18659054cdf5e5dc531ee32ab20e6aa1d3772545837557828a03b1f5/qml-0.4.0.27.tar.gz Installing collected packages: qml Running setup.py install for qml ... error ERROR: Command errored out with exit status 1: command: 'c:\users\BRS\appdata\local\programs\python\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\BRS\AppData\Local\Temp\pip-install-gn9koii5\qml\setup.py'"'"'; file='"'"'C:\Users\BRS\AppData\Local\Temp\pip-install-gn9koii5\qml\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' build --compiler=intelem --fcompiler=intelem install --record 'C:\Users\BRS\AppData\Local\Temp\pip-record-537c7i8_\install-record.txt' --single-version-externally-managed --compile --user --prefix= cwd: C:\Users\BRS\AppData\Local\Temp\pip-install-gn9koii5\qml\ Complete output (103 lines): MKL-discover: MKLROOT was not set running build running config_cc unifing config_cc, config, build_clib, build_ext, build commands --compiler options running config_fc unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options running build_src build_src building extension "ffchl_module" sources f2py options: ['--quiet'] adding 'build\src.win-amd64-3.8\build\src.win-amd64-3.8\fortranobject.c' to sources. adding 'build\src.win-amd64-3.8\build\src.win-amd64-3.8' to include_dirs. adding 'build\src.win-amd64-3.8\ffchl_module-f2pywrappers.f' to sources. adding 'build\src.win-amd64-3.8\ffchl_module-f2pywrappers2.f90' to sources. building extension "farad_kernels" sources f2py options: ['--quiet'] adding 'build\src.win-amd64-3.8\build\src.win-amd64-3.8\fortranobject.c' to sources. adding 'build\src.win-amd64-3.8\build\src.win-amd64-3.8' to include_dirs. adding 'build\src.win-amd64-3.8\farad_kernels-f2pywrappers.f' to sources. adding 'build\src.win-amd64-3.8\farad_kernels-f2pywrappers2.f90' to sources. building extension "fcho_solve" sources f2py options: ['--quiet'] adding 'build\src.win-amd64-3.8\build\src.win-amd64-3.8\fortranobject.c' to sources. adding 'build\src.win-amd64-3.8\build\src.win-amd64-3.8' to include_dirs. adding 'build\src.win-amd64-3.8\fcho_solve-f2pywrappers.f' to sources. building extension "fdistance" sources f2py options: ['--quiet'] adding 'build\src.win-amd64-3.8\build\src.win-amd64-3.8\fortranobject.c' to sources. adding 'build\src.win-amd64-3.8\build\src.win-amd64-3.8' to include_dirs. adding 'build\src.win-amd64-3.8\fdistance-f2pywrappers.f' to sources. building extension "fkernels" sources f2py options: ['--quiet'] adding 'build\src.win-amd64-3.8\build\src.win-amd64-3.8\fortranobject.c' to sources. adding 'build\src.win-amd64-3.8\build\src.win-amd64-3.8' to include_dirs. adding 'build\src.win-amd64-3.8\fkernels-f2pywrappers.f' to sources. building extension "fslatm" sources f2py options: ['--quiet'] adding 'build\src.win-amd64-3.8\build\src.win-amd64-3.8\fortranobject.c' to sources. adding 'build\src.win-amd64-3.8\build\src.win-amd64-3.8' to include_dirs. adding 'build\src.win-amd64-3.8\fslatm-f2pywrappers.f' to sources. adding 'build\src.win-amd64-3.8\fslatm-f2pywrappers2.f90' to sources. building extension "frepresentations" sources f2py options: ['--quiet'] adding 'build\src.win-amd64-3.8\build\src.win-amd64-3.8\fortranobject.c' to sources. adding 'build\src.win-amd64-3.8\build\src.win-amd64-3.8' to include_dirs. adding 'build\src.win-amd64-3.8\frepresentations-f2pywrappers.f' to sources. adding 'build\src.win-amd64-3.8\frepresentations-f2pywrappers2.f90' to sources. build_src: building npy-pkg config files running build_py creating build\lib.win-amd64-3.8 creating build\lib.win-amd64-3.8\qml copying qml\alchemy.py -> build\lib.win-amd64-3.8\qml copying qml\arad.py -> build\lib.win-amd64-3.8\qml copying qml\compound.py -> build\lib.win-amd64-3.8\qml copying qml\data.py -> build\lib.win-amd64-3.8\qml copying qml\distance.py -> build\lib.win-amd64-3.8\qml copying qml\fchl.py -> build\lib.win-amd64-3.8\qml copying qml\kernels.py -> build\lib.win-amd64-3.8\qml copying qml\math.py -> build\lib.win-amd64-3.8\qml copying qml\representations.py -> build\lib.win-amd64-3.8\qml copying qml\slatm.py -> build\lib.win-amd64-3.8\qml copying qml\wrappers.py -> build\lib.win-amd64-3.8\qml copying qml__init.py -> build\lib.win-amd64-3.8\qml running build_ext Could not locate executable icc Could not locate executable ecc customize IntelEM64TCCompiler customize IntelEM64TCCompiler using build_ext customize IntelEM64TFCompiler Could not locate executable ifort Could not locate executable efort Could not locate executable efc Traceback (most recent call last): File "", line 1, in File "C:\Users\BRS\AppData\Local\Temp\pip-install-gn9koii5\qml\setup.py", line 172, in setup_pepytools() File "C:\Users\BRS\AppData\Local\Temp\pip-install-gn9koii5\qml\setup.py", line 140, in setup_pepytools setup( File "c:\users\BRS\appdata\local\programs\python\python38\lib\site-packages\numpy\distutils\core.py", line 171, in setup return old_setup(new_attr) File "c:\users\BRS\appdata\local\programs\python\python38\lib\site-packages\setuptools__init__.py", line 145, in setup return distutils.core.setup(attrs) File "c:\users\BRS\appdata\local\programs\python\python38\lib\distutils\core.py", line 148, in setup dist.run_commands() File "c:\users\BRS\appdata\local\programs\python\python38\lib\distutils\dist.py", line 966, in run_commands self.run_command(cmd) File "c:\users\BRS\appdata\local\programs\python\python38\lib\distutils\dist.py", line 985, in run_command cmd_obj.run() File "c:\users\BRS\appdata\local\programs\python\python38\lib\site-packages\numpy\distutils\command\build.py", line 42, in run old_build.run(self) File "c:\users\BRS\appdata\local\programs\python\python38\lib\distutils\command\build.py", line 135, in run self.run_command(cmd_name) File "c:\users\BRS\appdata\local\programs\python\python38\lib\distutils\cmd.py", line 313, in run_command self.distribution.run_command(command) File "c:\users\BRS\appdata\local\programs\python\python38\lib\distutils\dist.py", line 985, in run_command cmd_obj.run() File "c:\users\BRS\appdata\local\programs\python\python38\lib\site-packages\numpy\distutils\command\build_ext.py", line 239, in run fcompiler.customize(self.distribution) File "c:\users\BRS\appdata\local\programs\python\python38\lib\site-packages\numpy\distutils\fcompiler__init__.py", line 463, in customize self.find_executables() File "c:\users\BRS\appdata\local\programs\python\python38\lib\site-packages\numpy\distutils\fcompiler\init__.py", line 352, in find_executables raise CompilerNotFound('%s: f90 nor f77' % ctype) numpy.distutils.fcompiler.CompilerNotFound: intelem: f90 nor f77

ERROR: Command errored out with exit status 1: 'c:\users\BRS\appdata\local\programs\python\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\BRS\AppData\Local\Temp\pip-install-gn9koii5\qml\setup.py'"'"'; file='"'"'C:\Users\BRS\AppData\Local\Temp\pip-install-gn9koii5\qml\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' build --compiler=intelem --fcompiler=intelem install --record 'C:\Users\BRS\AppData\Local\Temp\pip-record-537c7i8_\install-record.txt' --single-version-externally-managed --compile --user --prefix= Check the logs for full command output.

I'm new to python, help would be greatly appreciated.

andersx commented 4 years ago

Hi,

Thank you for the detailed bug report and for attaching the output!

I see that you are trying to install QML on windows. I am afraid it will quite a task: First of all, you need to define new compiler flags in setup.py. Furthermore, I can see that your distutils does not find or properly recognize the compilers, which is a problem beyond QML.

I will not say that it is impossible to compiel QML on Windows, but it will be a very laborious task to make work, and unfortunately nothing we can support on our end currently. I would suggest installing QML on a linux or mac system.

Best, Anders

BRS4511 commented 4 years ago

Thank you for your quick response! I will try again on a WSL.