【问题标题】:Why is my pip install not installing netifaces [duplicate]为什么我的 pip install 没有安装 netifaces [重复]
【发布时间】:2020-12-24 18:14:09
【问题描述】:

我正在使用 python 3.8.6,但由于某种原因它无法为 netifaces 构建轮子

错误:

C:\Users\cuerv>pip install --upgrade netifaces 收集网友 使用缓存的 netifaces-0.10.9.tar.gz (28 kB) 为收集的包构建轮子:netifaces netifaces (setup.py) 的构建轮...错误 错误:命令出错,退出状态为 1: 命令:'c:\users\cuerv\downloads\my code\imports\python 3.8.6\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\cuerv\AppData\Local\Temp\pip-install-femvpx3w\netifaces_673ef3fc78424548962ff6e3f9ac8b17\setup.py'"'"'; 文件='"'"'C:\Users\cuerv\AppData\Local\Temp\pip-install-femvpx3w\netifaces_673ef3fc78424548962ff6e3f9ac8b17\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\cuerv\AppData\Local\Temp\pip-wheel-qxm_uil5' cwd: C:\Users\cuerv\AppData\Local\Temp\pip-install-femvpx3w\netifaces_673ef3fc78424548962ff6e3f9ac8b17
完整输出(5 行): 运行 bdist_wheel 运行构建 运行 build_ext 构建“netifaces”扩展 错误:需要 Microsoft Visual C++ 14.0。使用“Visual Studio 构建工具”获取它:https://visualstudio.microsoft.com/downloads/

错误:netifaces 构建轮子失败 为 netifaces 运行 setup.py clean 未能建立网络 安装收集的包:netifaces 为 netifaces 运行 setup.py install ... 错误 错误:命令出错,退出状态为 1: 命令:'c:\users\cuerv\downloads\my code\imports\python 3.8.6\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\cuerv\AppData\Local\Temp\pip-install-femvpx3w\netifaces_673ef3fc78424548962ff6e3f9ac8b17\setup.py'"'"'; 文件='"'"'C:\Users\cuerv\AppData\Local\Temp\pip-install-femvpx3w\netifaces_673ef3fc78424548962ff6e3f9ac8b17\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' 安装--record 'C:\Users\cuerv\AppData\Local\Temp\pip-record-b4lmtpzg\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\ users\cuerv\downloads\我的代码\imports\python 3.8.6\Include\netifaces' cwd: C:\Users\cuerv\AppData\Local\Temp\pip-install-femvpx3w\netifaces_673ef3fc78424548962ff6e3f9ac8b17
完整输出(5 行): 运行安装 运行构建 运行 build_ext 构建“netifaces”扩展 错误:需要 Microsoft Visual C++ 14.0。使用“Visual Studio 构建工具”获取它:https://visualstudio.microsoft.com/downloads/ -------------------------------------- 错误:命令出错,退出状态为 1:'c:\users\cuerv\downloads\my code\imports\python 3.8.6\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\cuerv\AppData\Local\Temp\pip-install-femvpx3w\netifaces_673ef3fc78424548962ff6e3f9ac8b17\setup.py'"'"'; 文件='"'"'C:\Users\cuerv\AppData\Local\Temp\pip-install-femvpx3w\netifaces_673ef3fc78424548962ff6e3f9ac8b17\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' 安装--record 'C:\Users\cuerv\AppData\Local\Temp\pip-record-b4lmtpzg\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\ users\cuerv\downloads\my code\imports\python 3.8.6\Include\netifaces' 检查日志以获取完整的命令输出。

【问题讨论】:

标签: python python-3.x import pip python-netifaces


【解决方案1】:

相关行是这样的:

Complete output (5 lines): 
running install running build running build_ext building 'netifaces' extension error: Microsoft Visual C++ 14.0 is required. 
Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/ 

它告诉您要完成安装,您需要获取它提到的工具并安装它们。该软件包在安装期间尝试运行编译,它需要这些工具

【讨论】:

  • 有什么方法可以避免在安装时运行编译?在很多情况下,在安装包时运行编译(即:安装编译器、系统依赖项等)是绝对不合适的。我曾经为此依赖 pip --prefer-binary,但由于某种原因,它不再适用于 netifaces。
  • 有一个预编译版本的 netifaces 可用。在这里查看:lfd.uci.edu/~gohlke/pythonlibs 的包裹。你应该可以直接从下载的包中安装它。
  • 感谢您的链接。实际上我什至可以自己做(在另一台机器上编译二进制包,将它复制到目标机器上并安装它)。但我仍然相信 pip 应该可以完成这项工作,并且预编译版本应该在 pypi 上可用。编译一个包可能适合开发人员,但看起来不适合部署。
  • 我不反对,我更喜欢仅包含 python 内容且不需要发送不透明二进制文件的包(如果可能)。
猜你喜欢
  • 2016-08-29
  • 2020-04-22
  • 2020-01-11
  • 2020-03-08
  • 1970-01-01
  • 1970-01-01
  • 2021-02-27
  • 1970-01-01
相关资源
最近更新 更多