如何修复pythonnet安装过程中的错误
当我尝试使用以下命令时:
pip install pythonnet
我看到您可以在下面看到的错误:
Collecting pythonnet
Using cached pythonnet-2.5.2.tar.gz (1.9 MB)
Requirement already satisfied: pycparser in c:usersd4wt0appdatalocalpackagespythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0localcachelocal-packagespython39site-packages (from pythonnet) (2.20)
Using legacy 'setup.py install' for pythonnet, since package 'wheel' is not installed.
Installing collected packages: pythonnet
Running setup.py install for pythonnet ... error
ERROR: Command errored out with exit status 1:
command: 'C:Usersd4wt0AppDataLocalMicrosoftWindowsAppsPythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:Usersd4wt0AppDataLocalTemppip-install-jlv07504pythonnet_0928bad80975481c9950abc5017a28b4setup.py'"'"'; __file__='"'"'C:Usersd4wt0AppDataLocalTemppip-install-jlv07504pythonnet_0928bad80975481c9950abc5017a28b4setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:Usersd4wt0AppDataLocalTemppip-record-x2n0fvt3install-record.txt' --single-version-externally-managed --user --prefix= --compile --install-headers 'C:Usersd4wt0AppDataLocalPackagesPythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0LocalCachelocal-packagesPython39Includepythonnet'
cwd: C:Usersd4wt0AppDataLocalTemppip-install-jlv07504pythonnet_0928bad80975481c9950abc5017a28b4
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: 'C:Usersd4wt0AppDataLocalMicrosoftWindowsAppsPythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:Usersd4wt0AppDataLocalTemppip-install-jlv07504pythonnet_0928bad80975481c9950abc5017a28b4setup.py'"'"'; __file__='"'"'C:Usersd4wt0AppDataLocalTemppip-install-jlv07504pythonnet_0928bad80975481c9950abc5017a28b4setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:Usersd4wt0AppDataLocalTemppip-record-x2n0fvt3install-record.txt' --single-version-externally-managed --user --prefix= --compile --install-headers 'C:Usersd4wt0AppDataLocalPackagesPythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0LocalCachelocal-packagesPython39Includepythonnet' Check the logs for full command output.
我该如何解决?我尝试使用 PyCharm 安装该软件包,但出现相同的错误。有任何想法吗?
回答
从Python.NET 文档中我可以看到它不支持python 3.9. 您可以从这里下载车轮文件
。
由于您的python版本是 3.9,请下载pythonnet?2.5.2?cp39?cp39?win32.whl(32 位python版本)或pythonnet?2.5.2?cp39?cp39?win_amd64.whl(64 位python版本)。
然后指定安装的wheel文件的完整路径。
例子:
pip install C:UsersUserDownloadspythonnet?2.5.2?cp39?cp39?win_amd64.whl