Search code examples
python-wheelpython.net

Can't build wheel and single-version-externally-managed not recognized error on pip install pythonnet WSL 2 VS Code


I am on WSL2 in VS Code. Using Zsh on VS Code.

I am trying to install pythonnet though am getting two errors: ERROR: Failed building wheel for pythonnet error: option --single-version-externally-managed not recognized

This is from using pip install pythonnet==2.5.2

My versions are: Python 3.8.10 Wheel 0.37.0 Mono: 6.8.0.105 pycparser 2.20

I have searched high and low online though I can't find a solution - everything seems to point to updating wheel and installing mono - as you can see from the above version numbers, I have them installed. I am doing everything from within a virtual env.

Does anyone have any experience with this or know what to do to get past these errors?

Full log:

 ~/j/s/stx1alpha-signals/d/backend on   master !6 ?1 ❯ pip install pythonnet==2.5.2  stx1alpha at  10:52:05 AM Collecting pythonnet==2.5.2 Using cached pythonnet-2.5.2.tar.gz (1.9 MB) Preparing metadata (setup.py) ... done Requirement already satisfied: pycparser in /home/jessica-ryan/jessica-ryan/stx1alpha/.venv/lib/python3.8/site-packages (from pythonnet==2.5.2) (2.20) Building wheels for collected packages: pythonnet Building wheel for pythonnet (setup.py) ... error ERROR: Command errored out with exit status 1: command: /home/jessica-ryan/jessica-ryan/stx1alpha/.venv/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/setup.py'"'"'; file='"'"'/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-789kx5l4 cwd: /tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/ Complete output (153 lines): running bdist_wheel running build
running build_ext Checking for updates from https://www.nuget.org/api/v2/. Currently running NuGet.exe 4.1.0.
Updating NuGet.exe to 5.11.0. Update successful. MSBuild auto-detection: using msbuild version '14.0' from '/usr/lib/mono/xbuild/14.0/bin'.

xbuild tool is deprecated and will be removed in future updates, use msbuild instead <<<< MSBUILD: error MSBUILD0004: Too many project files specified WARNING: Error reading msbuild project information, ensure that your input solution or project file is valid. NETCore and UAP projects will be skipped, only packages.config files will be restored.
Restoring NuGet package System.ValueTuple.4.5.0. Restoring NuGet package NUnit.ConsoleRunner.3.11.1. Restoring NuGet package NUnit.3.12.0. Restoring NuGet package UnmanagedExports.1.2.7.
Adding package 'NUnit.3.12.0' to folder '/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/packages' Adding package 'System.ValueTuple.4.5.0' to folder '/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/packages' Adding package 'UnmanagedExports.1.2.7' to folder '/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/packages' Adding package 'NUnit.ConsoleRunner.3.11.1' to folder '/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/packages' Added package 'UnmanagedExports.1.2.7' to folder '/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/packages' Added package 'System.ValueTuple.4.5.0' to folder '/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/packages' Added package 'NUnit.ConsoleRunner.3.11.1' to folder '/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/packages' Added package 'NUnit.3.12.0' to folder '/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/packages' NuGet Config files used: /home/jessica-ryan/.config/NuGet/NuGet.Config Feeds used: /home/jessica-ryan/.nuget/packages/ https://api.nuget.org/v3/index.json Installed: 4 package(s) to packages.config projects

xbuild tool is deprecated and will be removed in future updates, use msbuild instead <<<< XBuild Engine Version 14.0 Mono, Version 6.8.0.105 Copyright (C) 2005-2013 Various Mono authors Build started 11/18/2021 10:53:28. __________________________________________________ Project "/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/pythonnet.sln" (Clean target(s)): Target ValidateSolutionConfiguration: Building solution configuration "ReleaseMono|x64". Target Clean: Project "/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/src/runtime/Python.Runtime.csproj" (Clean target(s)): Target CoreClean: Deleting file '/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/src/runtime/obj/x64/ReleaseMono/.NETFramework,Version=v4.0.AssemblyAttribute.cs' Done building project "/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/src/runtime/Python.Runtime.csproj". The project 'clrmodule' is disabled for solution configuration 'ReleaseMono|x64'. Project "/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/src/testing/Python.Test.csproj" (Clean target(s)): Target CoreClean: Deleting file '/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/src/testing/obj/x64/ReleaseMono/.NETFramework,Version=v4.0.AssemblyAttribute.cs' Done building project "/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/src/testing/Python.Test.csproj". Project "/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/src/embed_tests/Python.EmbeddingTest.csproj" (Clean target(s)): Target CoreClean: Deleting file '/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/src/embed_tests/obj/x64/ReleaseMono/.NETFramework,Version=v4.0.AssemblyAttribute.cs' Done building project "/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/src/embed_tests/Python.EmbeddingTest.csproj". Project "/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/src/console/Console.csproj" (Clean target(s)): Target CoreClean: Deleting file '/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/src/console/obj/x64/ReleaseMono/.NETFramework,Version=v4.0.AssemblyAttribute.cs' Done building project "/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/src/console/Console.csproj". Done building project "/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/pythonnet.sln". Build succeeded. 0 Warning(s) 0 Error(s) Time Elapsed 00:00:00.3407830

xbuild tool is deprecated and will be removed in future updates, use msbuild instead <<<< XBuild Engine Version 14.0 Mono, Version 6.8.0.105 Copyright (C) 2005-2013 Various Mono authors Build started 11/18/2021 10:53:29. __________________________________________________ Project "/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/pythonnet.sln" (Build target(s)): Target ValidateSolutionConfiguration: Building solution configuration "ReleaseMono|x64". Target Build: Project "/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/src/runtime/Python.Runtime.csproj" (default target(s)): Target PrepareForBuild: Configuration: ReleaseMono Platform: x64 Created directory "bin/" Target GenerateSatelliteAssemblies: No input files were specified for target GenerateSatelliteAssemblies, skipping. Target CoreCompile: Tool /usr/lib/mono/4.5/mcs.exe execution started with arguments: /noconfig /debug:pdbonly /optimize+ /out:obj/x64/ReleaseMono/Python.Runtime.dll /resource:obj/x64/ReleaseMono/Python.Runtime.resources.clr.py,clr.py Codecs/EncoderGroup.cs Codecs/DecoderGroup.cs Codecs/RawProxyEncoder.cs Codecs/TupleCodecs.cs converterextensions.cs finalizer.cs Properties/AssemblyInfo.cs ../SharedAssemblyInfo.cs arrayobject.cs assemblymanager.cs BorrowedReference.cs classderived.cs classbase.cs classmanager.cs classobject.cs clrobject.cs codegenerator.cs constructorbinder.cs constructorbinding.cs converter.cs CustomMarshaler.cs debughelper.cs delegatemanager.cs delegateobject.cs eventbinding.cs eventobject.cs exceptions.cs extensiontype.cs fieldobject.cs generictype.cs genericutil.cs importhook.cs indexer.cs interfaceobject.cs interfaces.cs interop.cs iterator.cs managedtype.cs metatype.cs methodbinder.cs methodbinding.cs methodobject.cs methodwrapper.cs modulefunctionobject.cs moduleobject.cs modulepropertyobject.cs nativecall.cs NewReference.cs NonCopyableAttribute.cs overload.cs propertyobject.cs pyansistring.cs pydict.cs PyExportAttribute.cs pyfloat.cs pyint.cs pyiter.cs pylist.cs pylong.cs pynumber.cs pyobject.cs pyscope.cs pysequence.cs pystring.cs pythonengine.cs pythonexception.cs pytuple.cs ReferenceExtensions.cs runtime.cs typemanager.cs typemethod.cs Util.cs platform/Types.cs platform/LibraryLoader.cs polyfill/ReflectionPolifills.cs slots/mp_length.cs interop38.cs obj/x64/ReleaseMono/.NETFramework,Version=v4.0.AssemblyAttribute.cs /target:library /unsafe+ /define:"PYTHON38;PYTHON3;UCS4;MONO_LINUX;PYTHON_WITHOUT_ENABLE_SHARED" /nowarn:1591 /doc:bin/Python.Runtime.xml /langversion:7.3 /nostdlib /reference:/usr/lib/mono/4.0-api/System.dll /reference:/usr/lib/mono/4.0-api/System.Core.dll /reference:/usr/lib/mono/4.0-api//mscorlib.dll CSC: error CS1617: Invalid -langversion option 7.3'. It must be ISO-1', `ISO-2', Default, Latest or value in range 1 to 7.2 Task "Csc" execution -- FAILED Done building target "CoreCompile" in project "/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/src/runtime/Python.Runtime.csproj".-- FAILED Done building project "/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/src/runtime/Python.Runtime.csproj".-- FAILED Task "MSBuild" execution -- FAILED Done building target "Build" in project "/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/pythonnet.sln".-- FAILED Done building project "/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/pythonnet.sln".-- FAILED Build FAILED. Errors: /tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/pythonnet.sln (Build) -> (Build target) ->
/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/src/runtime/Python.Runtime.csproj (default targets) ->
/usr/lib/mono/xbuild/14.0/bin/Microsoft.CSharp.targets (CoreCompile target) ->

    CSC: error CS1617: Invalid -langversion option `7.3'. It must be `ISO-1', `ISO-2', Default, Latest or value in range 1 to 7.2

     0 Warning(s)
     1 Error(s)
 Time Elapsed 00:00:00.3647620   Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/setup.py",

line 630, in setup( File "/home/jessica-ryan/jessica-ryan/stx1alpha/.venv/lib/python3.8/site-packages/setuptools/init.py", line 153, in setup return distutils.core.setup(**attrs) File "/usr/lib/python3.8/distutils/core.py", line 148, in setup dist.run_commands() File "/usr/lib/python3.8/distutils/dist.py", line 966, in run_commands self.run_command(cmd) File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command cmd_obj.run() File "/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/setup.py", line 612, in run return bdist_wheel.bdist_wheel.run(self) File "/home/jessica-ryan/jessica-ryan/stx1alpha/.venv/lib/python3.8/site-packages/wheel/bdist_wheel.py", line 299, in run self.run_command('build') File "/usr/lib/python3.8/distutils/cmd.py", line 313, in run_command self.distribution.run_command(command) File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command cmd_obj.run() File "/usr/lib/python3.8/distutils/command/build.py", line 135, in run self.run_command(cmd_name) File "/usr/lib/python3.8/distutils/cmd.py", line 313, in run_command self.distribution.run_command(command) File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command cmd_obj.run() File "/usr/lib/python3.8/distutils/command/build_ext.py", line 340, in run self.build_extensions() File "/usr/lib/python3.8/distutils/command/build_ext.py", line 449, in build_extensions self._build_extensions_serial() File "/usr/lib/python3.8/distutils/command/build_ext.py", line 474, in _build_extensions_serial self.build_extension(ext) File "/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/setup.py", line 353, in build_extension subprocess.check_call(" ".join(cmd + ["/t:Build"]), shell=use_shell) File "/usr/lib/python3.8/subprocess.py", line 364, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command 'xbuild pythonnet.sln /p:Configuration=ReleaseMono /p:Platform=x64 /p:DefineConstants="PYTHON38%3BPYTHON3%3BUCS4%3BMONO_LINUX%3BPYTHON_WITHOUT_ENABLE_SHARED" /p:PythonBuildDir="/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/build/lib.linux-x86_64-3.8" /p:PythonInteropFile="interop38.cs" /p:PackageId=pythonnet_py38_x64 /verbosity:normal /t:Build' returned non-zero exit status 1.
---------------------------------------- ERROR: Failed building wheel for pythonnet Running setup.py clean for pythonnet Failed to build pythonnet Installing collected packages: pythonnet Running setup.py install for pythonnet ... error ERROR: Command errored out with exit status 1: command: /home/jessica-ryan/jessica-ryan/stx1alpha/.venv/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/setup.py'"'"'; file='"'"'/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /tmp/pip-record-2fxmdkst/install-record.txt --single-version-externally-managed --compile --install-headers /home/jessica-ryan/jessica-ryan/stx1alpha/.venv/include/site/python3.8/pythonnet cwd: /tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/ Complete output (6 lines): usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] or: setup.py --help [cmd1 cmd2 ...] or: setup.py --help-commands or: setup.py cmd --help

error: option --single-version-externally-managed not recognized
---------------------------------------- ERROR: Command errored out with exit status 1:

/home/jessica-ryan/jessica-ryan/stx1alpha/.venv/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/setup.py'"'"'; file='"'"'/tmp/pip-install-mlymh9lo/pythonnet_eef24e9bf71f4dcdacdc5897c9504adf/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /tmp/pip-record-2fxmdkst/install-record.txt --single-version-externally-managed --compile --install-headers /home/jessica-ryan/jessica-ryan/stx1alpha/.venv/include/site/python3.8/pythonnet Check the logs for full command output.


Solution

  • You need a newer version of Mono. The one you have does not support C# 7.3 that Pythonnet build needs.