6,227
社区成员




请问Python pymssql该如何正确安装,谢谢各位大神的指点
问题报错:ERROR: Failed to build installable wheels for some pyproject.toml based projects (pymssql)
操作系统:Windows 11 家庭中文版 24H2
Python 版本:3.13.3
已安装visual studio 生成工具2022(含Win 11 SDK 和 C++ CMake工具)
已安装 pip(25.1.1) 、setuptools(80.9.0)
和 wheel(0.45.1)
详细报错日志如下:
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools>pip install -v pymssql
Using pip 25.1.1 from D:\Program Files (x86)\Python\Lib\site-packages\pip (python 3.13)
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting pymssql
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/83/35/5a0b79369e42fffd5c04e4e74fa90ef034cc5c3f314e14f6d58cac646ccf/pymssql-2.3.4.tar.gz (184 kB)
Running command pip subprocess to install build dependencies
Using pip 25.1.1 from D:\Program Files (x86)\Python\Lib\site-packages\pip (python 3.13)
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting packaging>=24
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl (66 kB)
Collecting setuptools<70.3,>=54.0
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/42/54/2a8ecfcc9a714a6fbf86559a4b0f50b126a4ac4269ea8134f2c75c3e73de/setuptools-70.2.0-py3-none-any.whl (930 kB)
Collecting setuptools_scm>=5.0 (from setuptools_scm[toml]>=5.0)
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/ab/ac/8f96ba9b4cfe3e4ea201f23f4f97165862395e9331a424ed325ae37024a8/setuptools_scm-8.3.1-py3-none-any.whl (43 kB)
Collecting wheel>=0.36.2
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl (72 kB)
Collecting Cython>=3.0.10
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/79/5e/c469f7b42e145a06af79a3f7b599454c028a823c6a83adc867ddfd02f941/cython-3.1.1-cp313-cp313-win_amd64.whl (2.7 MB)
Collecting tomli
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl (109 kB)
Installing collected packages: wheel, tomli, setuptools, packaging, Cython, setuptools_scm
Creating C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Scripts
Successfully installed Cython-3.1.1 packaging-25.0 setuptools-70.2.0 setuptools_scm-8.3.1 tomli-2.2.1 wheel-0.45.1
Installing build dependencies ... done
Running command Getting requirements to build wheel
prefix='/usr/local'
setup.py: platform.system() => Windows
setup.py: platform.architecture() => ('64bit', 'WindowsPE')
setup.py: include_dirs => ['/usr/local\\include']
setup.py: library_dirs => ['/usr/local\\lib']
Getting requirements to build wheel ... done
Running command Preparing metadata (pyproject.toml)
prefix='/usr/local'
setup.py: platform.system() => Windows
setup.py: platform.architecture() => ('64bit', 'WindowsPE')
setup.py: include_dirs => ['/usr/local\\include']
setup.py: library_dirs => ['/usr/local\\lib']
running dist_info
creating C:\Users\华为\AppData\Local\Temp\pip-modern-metadata-xf5qctkw\pymssql.egg-info
writing C:\Users\华为\AppData\Local\Temp\pip-modern-metadata-xf5qctkw\pymssql.egg-info\PKG-INFO
writing dependency_links to C:\Users\华为\AppData\Local\Temp\pip-modern-metadata-xf5qctkw\pymssql.egg-info\dependency_links.txt
writing top-level names to C:\Users\华为\AppData\Local\Temp\pip-modern-metadata-xf5qctkw\pymssql.egg-info\top_level.txt
writing manifest file 'C:\Users\华为\AppData\Local\Temp\pip-modern-metadata-xf5qctkw\pymssql.egg-info\SOURCES.txt'
reading manifest file 'C:\Users\华为\AppData\Local\Temp\pip-modern-metadata-xf5qctkw\pymssql.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'C:\Users\华为\AppData\Local\Temp\pip-modern-metadata-xf5qctkw\pymssql.egg-info\SOURCES.txt'
creating 'C:\Users\华为\AppData\Local\Temp\pip-modern-metadata-xf5qctkw\pymssql-2.3.4.dist-info'
Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: pymssql
Running command Building wheel for pymssql (pyproject.toml)
prefix='/usr/local'
setup.py: platform.system() => Windows
setup.py: platform.architecture() => ('64bit', 'WindowsPE')
setup.py: include_dirs => ['/usr/local\\include']
setup.py: library_dirs => ['/usr/local\\lib']
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win32-cpython-313
creating build\lib.win32-cpython-313\pymssql
copying src\pymssql\exceptions.py -> build\lib.win32-cpython-313\pymssql
copying src\pymssql\__init__.py -> build\lib.win32-cpython-313\pymssql
running egg_info
writing src\pymssql.egg-info\PKG-INFO
writing dependency_links to src\pymssql.egg-info\dependency_links.txt
writing top-level names to src\pymssql.egg-info\top_level.txt
reading manifest file 'src\pymssql.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'src\pymssql.egg-info\SOURCES.txt'
copying src\pymssql\__init__.pyi -> build\lib.win32-cpython-313\pymssql
copying src\pymssql\_mssql.pxd -> build\lib.win32-cpython-313\pymssql
copying src\pymssql\_mssql.pyi -> build\lib.win32-cpython-313\pymssql
copying src\pymssql\_mssql.pyx -> build\lib.win32-cpython-313\pymssql
copying src\pymssql\_pymssql.pyi -> build\lib.win32-cpython-313\pymssql
copying src\pymssql\_pymssql.pyx -> build\lib.win32-cpython-313\pymssql
copying src\pymssql\exceptions.pyi -> build\lib.win32-cpython-313\pymssql
copying src\pymssql\py.typed -> build\lib.win32-cpython-313\pymssql
copying src\pymssql\sqlfront.pxd -> build\lib.win32-cpython-313\pymssql
copying src\pymssql\version.h -> build\lib.win32-cpython-313\pymssql
running build_ext
Error compiling Cython file:
------------------------------------------------------------
...
elif dbtype == SQLINT4:
return int(<int>(<DBINT *>data)[0])
elif dbtype == SQLINT8:
return long(<PY_LONG_LONG>(<PY_LONG_LONG *>data)[0])
^
------------------------------------------------------------
src\pymssql\_mssql.pyx:858:19: undeclared name not builtin: long
Compiling src\pymssql\_mssql.pyx because it changed.
[1/1] Cythonizing src\pymssql\_mssql.pyx
Traceback (most recent call last):
File "D:\Program Files (x86)\Python\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 389, in <module>
main()
~~~~^^
File "D:\Program Files (x86)\Python\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 373, in main
json_out["return_val"] = hook(**hook_input["kwargs"])
~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files (x86)\Python\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 280, in build_wheel
return _build_backend().build_wheel(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
wheel_directory, config_settings, metadata_directory
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\build_meta.py", line 415, in build_wheel
return self._build_with_temp_dir(
~~~~~~~~~~~~~~~~~~~~~~~~~^
['bdist_wheel'],
^^^^^^^^^^^^^^^^
...<3 lines>...
self._arbitrary_args(config_settings),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\build_meta.py", line 397, in _build_with_temp_dir
self.run_setup()
~~~~~~~~~~~~~~^^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\build_meta.py", line 497, in run_setup
super().run_setup(setup_script=setup_script)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\build_meta.py", line 313, in run_setup
exec(code, locals())
~~~~^^^^^^^^^^^^^^^^
File "<string>", line 295, in <module>
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\__init__.py", line 103, in setup
return distutils.core.setup(**attrs)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 184, in setup
return run_commands(dist)
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 200, in run_commands
dist.run_commands()
~~~~~~~~~~~~~~~~~^^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 970, in run_commands
self.run_command(cmd)
~~~~~~~~~~~~~~~~^^^^^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\dist.py", line 974, in run_command
super().run_command(command)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 989, in run_command
cmd_obj.run()
~~~~~~~~~~~^^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\command\bdist_wheel.py", line 373, in run
self.run_command("build")
~~~~~~~~~~~~~~~~^^^^^^^^^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 316, in run_command
self.distribution.run_command(command)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\dist.py", line 974, in run_command
super().run_command(command)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 989, in run_command
cmd_obj.run()
~~~~~~~~~~~^^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\_distutils\command\build.py", line 135, in run
self.run_command(cmd_name)
~~~~~~~~~~~~~~~~^^^^^^^^^^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 316, in run_command
self.distribution.run_command(command)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\dist.py", line 974, in run_command
super().run_command(command)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 989, in run_command
cmd_obj.run()
~~~~~~~~~~~^^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 359, in run
self.build_extensions()
~~~~~~~~~~~~~~~~~~~~~^^
File "<string>", line 187, in build_extensions
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 479, in build_extensions
self._build_extensions_serial()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 505, in _build_extensions_serial
self.build_extension(ext)
~~~~~~~~~~~~~~~~~~~~^^^^^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\Cython\Distutils\build_ext.py", line 131, in build_extension
new_ext = cythonize(
~~~~~~~~~^
ext,force=self.force, quiet=self.verbose == 0, **options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)[0]
^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\Cython\Build\Dependencies.py", line 1145, in cythonize
cythonize_one(*args)
~~~~~~~~~~~~~^^^^^^^
File "C:\Users\华为\AppData\Local\Temp\pip-build-env-qvi9qsen\overlay\Lib\site-packages\Cython\Build\Dependencies.py", line 1289, in cythonize_one
raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: src\pymssql\_mssql.pyx
error: subprocess-exited-with-error
× Building wheel for pymssql (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
full command: 'D:\Program Files (x86)\Python\python.exe' 'D:\Program Files (x86)\Python\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py' build_wheel 'C:\Users\华为\AppData\Local\Temp\tmp1whkfed9'
cwd: C:\Users\华为\AppData\Local\Temp\pip-install-d58e6hu9\pymssql_1f79f03152cb4833bf4ee459b7ff4155
Building wheel for pymssql (pyproject.toml) ... error
ERROR: Failed building wheel for pymssql
Failed to build pymssql
ERROR: Failed to build installable wheels for some pyproject.toml based projects (pymssql)
我也是64位系统,卸载3.13后安装3.12.10,问题就解决了。https://www.python.org/ftp/python/3.12.10/python-3.12.10-amd64.exe
我去https://pypi.org/project/pymssql/#files 查询了下依赖的.whl文件,目前313还没有64位支持,猜测是这个问题导致
安装python3.8后,pymssql能够正常安装,问题解决