错误:无法构建pymssql的wheels,这是安装基于pyproject.toml的项目所需的。

3

我在安装 pymsql 时遇到了问题,你们有类似的情况吗?

我找到了一个针对 M1 用户相似的问题:链接

我还尝试过:

使用以下命令升级 pip:python -m pip install --upgrade pip

使用以下命令升级 wheel:pip install --upgrade wheel

使用以下命令升级 setuptools:pip install --upgrade setuptools

当我尝试安装时,我收到了以下消息:

Collecting pymssql
  Using cached pymssql-2.2.2.tar.gz (170 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: startedNote: you may need to restart the kernel to use updated packages.
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Building wheels for collected packages: pymssql
  Building wheel for pymssql (pyproject.toml): started

  ERROR: Command errored out with exit status 1:
   command: 'C:\Users\mikol\AppData\Local\Programs\Python\Python310\python.exe' 'C:\Users\mikol\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py' build_wheel 'C:\Users\mikol\AppData\Local\Temp\tmpli4438o6'
       cwd: C:\Users\mikol\AppData\Local\Temp\pip-install-f4z0veo1\pymssql_f17e29cc25734af0a975be16add0d1d8
  Complete output (23 lines):
  setup.py: platform.system() => Windows
  setup.py: platform.architecture() => ('64bit', 'WindowsPE')
  setup.py: include_dirs => []
  setup.py: library_dirs => []
  running bdist_wheel
  running build  Building wheel for pymssql (pyproject.toml): finished with status 'error'
Failed to build pymssql

  running build_py
  creating build
  creating build\lib.win-amd64-3.10
  creating build\lib.win-amd64-3.10\pymssql
  copying src\pymssql\__init__.py -> build\lib.win-amd64-3.10\pymssql
  running build_ext
  cythoning src\pymssql\_mssql.pyx to src\pymssql\_mssql.c
  cythoning src\pymssql\_pymssql.pyx to src\pymssql\_pymssql.c
  building 'pymssql._mssql' extension
  creating build\temp.win-amd64-3.10
  creating build\temp.win-amd64-3.10\Release
  creating build\temp.win-amd64-3.10\Release\src
  creating build\temp.win-amd64-3.10\Release\src\pymssql
  C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\Users\mikol\AppData\Local\Programs\Python\Python310\include -IC:\Users\mikol\AppData\Local\Programs\Python\Python310\Include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include -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 /Tcsrc\pymssql\_mssql.c /Fobuild\temp.win-amd64-3.10\Release\src\pymssql\_mssql.obj -DMSDBLIB
  _mssql.c
  src\pymssql\_mssql.c(682): fatal error C1083: Nie moľna otworzy† pliku do\x88Ącz: 'sqlfront.h': No such file or directory
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
  ----------------------------------------
  ERROR: Failed building wheel for pymssql
ERROR: Could not build wheels for pymssql, which is required to install pyproject.toml-based projects

有什么建议可以修复它将不胜感激。


1
当我安装“pymssql”时,pip会下载“.whl”文件,而不需要为“pymssql”构建wheel,这很奇怪。你能否尝试在没有缓存的情况下重新安装它? pip --no-cache-dir install pymssql - Steven-MSFT
有一段时间,我也认为这可能是Python版本和对3.10的支持的问题......但你是对的,使用pip --no-cache-dir install pymssql 安装正确。非常感谢! - Mikolaj
4个回答

3

当我在 macOS(M1芯片)上尝试安装 tap-mssql 时,我遇到了类似的错误。他们的文档 提供了指令 以解决 macOS 上的 fatal error: 'sqlfront.h' file not found 错误。在我运行以下指令后,我能够成功安装 pymysql(当然,在我的情况下是 tap-mssql):

brew install freetds

2
我认为我接下来要说的不是一个答案,但我想帮助可能在未来遇到此类问题的其他人。我的机器不是 M1(它是运行 Windows 10 的 Intel CPU),而且我认为我的环境与 OP 不同,但我确实成功地获得了类似于 OP 的错误。我最初通过执行“pip --no-cache-dir install pymssql” 来解决它。这很有效。感谢 @Steven-MSFT。但之后我遇到了更多错误(不是 pymssql 的错误),这让我意识到我正在全新的操作系统上使用 Python 3.11.1 执行“pip install -r requirement.txt”,并使用由拥有 Python 3.10.4 的机器构建的 requirement.txt 文件。我没有意识到这会产生如此大的差异。显然确实存在影响。总之,我想说的是,模块试图为 pymssql 构建 wheel 的原因可能是您尝试安装的特定版本 pymssql 可能不适合您的 Python 环境。我怀疑的原因是,在卸载 3.11.1 并安装 3.10.4(这是我一开始应该做的)之后,“pip install -r requirement.txt” 就像魔法一样奏效了。所以这就是我的两分钱。FYI:我遇到问题的 pymssql 版本是 2.2.5。

0

我曾经遇到这个问题,我的错误是没有安装正确的pymysql

文档(https://pymysql.readthedocs.io/en/latest/user/installation.html)中提到需要安装

python3 -m pip install PyMySQL

这对我很有效。


-1

试试这个

sudo apt-get install python3-dev python3-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接