Unable to install with Python > 3.4
I'm a complete noob to Python, so I don't know how to ship around this, but it seems not to work out-of-the box with pip install rtmidi like specified in the readme, so I open up an issue here. Seems to me that you're buiding RtMidi from CPP source here and try to link against python34.lib, which is not present on my system. Idk, is there maybe a more general solution to this, so you use the lib corresponding to the Python version actually installed?
pip install rtmidi Collecting rtmidi Using cached rtmidi-2.3.4.tar.gz (51 kB) Preparing metadata (setup.py) ... done Using legacy 'setup.py install' for rtmidi, since package 'wheel' is not installed. Installing collected packages: rtmidi Running setup.py install for rtmidi ... error error: subprocess-exited-with-error
× Running setup.py install for rtmidi did not run successfully. │ exit code: 1 ╰─> [41 lines of output] C:\Users\me\AppData\Local\Programs\Python\Python310\lib\distutils\extension.py:132: UserWarning: Unknown Extension options: 'headers' warnings.warn(msg) running install running build running build_py creating build creating build\lib.win-amd64-3.10 creating build\lib.win-amd64-3.10\rtmidi copying rtmidi\collector.py -> build\lib.win-amd64-3.10\rtmidi copying rtmidi\randomout.py -> build\lib.win-amd64-3.10\rtmidi copying rtmidi_init_.py -> build\lib.win-amd64-3.10\rtmidi running build_ext building 'rtmidi.rtmidi' extension creating build\temp.win-amd64-3.10 creating build\temp.win-amd64-3.10\Release creating build\temp.win-amd64-3.10\Release\cpp_src C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -D__WINDOWS_MM_= -DPK_WINDOWS=1 -IC:\Users\me\AppData\Local\Programs\Python\Python310\include -IC:\Users\me\AppData\Local\Programs\Python\Python310\Include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\ATLMFC\include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include -IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt /EHsc /Tpcpp_src\MidiMessage.cpp /Fobuild\temp.win-amd64-3.10\Release\cpp_src\MidiMessage.obj /EHsc MidiMessage.cpp cpp_src\MidiMessage.cpp(1055): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use CRT_SECURE_NO_WARNINGS. See online help for details. cpp_src\MidiMessage.cpp(1057): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use CRT_SECURE_NO_WARNINGS. See online help for details. C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -D__WINDOWS_MM= -DPK_WINDOWS=1 -IC:\Users\me\AppData\Local\Programs\Python\Python310\include -IC:\Users\me\AppData\Local\Programs\Python\Python310\Include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\ATLMFC\include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include -IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt /EHsc /Tpcpp_src\PyMidiMessage.cpp /Fobuild\temp.win-amd64-3.10\Release\cpp_src\PyMidiMessage.obj /EHsc PyMidiMessage.cpp cpp_src\PyMidiMessage.cpp(72): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data cpp_src\PyMidiMessage.cpp(87): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -D__WINDOWS_MM__= -DPK_WINDOWS=1 -IC:\Users\me\AppData\Local\Programs\Python\Python310\include -IC:\Users\me\AppData\Local\Programs\Python\Python310\Include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\ATLMFC\include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include -IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt /EHsc /Tpcpp_src\RtMidi.cpp /Fobuild\temp.win-amd64-3.10\Release\cpp_src\RtMidi.obj /EHsc RtMidi.cpp C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -D__WINDOWS_MM__= -DPK_WINDOWS=1 -IC:\Users\me\AppData\Local\Programs\Python\Python310\include -IC:\Users\me\AppData\Local\Programs\Python\Python310\Include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\ATLMFC\include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include -IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt /EHsc /Tpcpp_src\rtmidimodule.cpp /Fobuild\temp.win-amd64-3.10\Release\cpp_src\rtmidimodule.obj /EHsc rtmidimodule.cpp cpp_src\rtmidimodule.cpp(50): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. cpp_src\rtmidimodule.cpp(52): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. cpp_src\rtmidimodule.cpp(54): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. cpp_src\rtmidimodule.cpp(56): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. cpp_src\rtmidimodule.cpp(58): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. cpp_src\rtmidimodule.cpp(60): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. cpp_src\rtmidimodule.cpp(62): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. cpp_src\rtmidimodule.cpp(64): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. cpp_src\rtmidimodule.cpp(97): warning C4996: 'PyEval_CallObjectWithKeywords': deprecated in 3.9 cpp_src\rtmidimodule.cpp(908): warning C4996: 'PyEval_InitThreads': deprecated in 3.9 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:C:\Program Files\Microsoft SDKs\Windows7.1\Lib /LIBPATH:C:\Users\me\AppData\Local\Programs\Python\Python310\libs /LIBPATH:C:\Users\me\AppData\Local\Programs\Python\Python310\PCbuild\amd64 /LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\ATLMFC\lib\x64 /LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\lib\x64 /LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\lib\um\x64 /LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x64 /LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64 winmm.lib python34.lib /EXPORT:PyInit__rtmidi build\temp.win-amd64-3.10\Release\cpp_src\MidiMessage.obj build\temp.win-amd64-3.10\Release\cpp_src\PyMidiMessage.obj build\temp.win-amd64-3.10\Release\cpp_src\RtMidi.obj build\temp.win-amd64-3.10\Release\cpp_src\rtmidimodule.obj /OUT:build\lib.win-amd64-3.10\rtmidi_rtmidi.cp310-win_amd64.pyd /IMPLIB:build\temp.win-amd64-3.10\Release\cpp_src_rtmidi.cp310-win_amd64.lib LINK : fatal error LNK1181: cannot open input file 'python34.lib' error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\link.exe' failed with exit code 1181 [end of output]
note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure
× Encountered error while trying to install package. ╰─> rtmidi
note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure.
Same problem with python 3.8.2
Same problem with Python 3.10.6
Any chance for a fix?
Uploaded 2.5.0 for windows and Mac. Try again? Granted, testing was light.
Looks good here with 3.10.4, thanks for the fix!