Python machine: MS Windows Server v24H2 (OS Build 26100.6584) (Windows Server 2025 Datacenter)
I seem to be a “local admin” on the Python machine but I’m not sure what my limits are. I’m not a sysadmin.
Python in c:\program files\Python314. think I had local admin rights when it was installed. This is installed for all users.
Programs are actually stored on another network drive mapped as E:. So I’m trying to install packages in the project dir on E:.
I am installing Python on a new machine which I use via a Remote Desktop from my laptop. When I go to my project dir E:\Jobs\Test\Myjob and do pip install pyodbc I get these errors.
Defaulting to user installation because normal site-packages is not writeable
Collecting pyodbc
Using cached pyodbc-5.2.0.tar.gz (116 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: pyodbc
Building wheel for pyodbc (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for pyodbc (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [49 lines of output]
WARNING: '' not a valid package name; please use only .-separated package names in setup.py
C:\users\MYUSER\AppData\Local\Temp\2\pip-build-env-bfe1h5dk\overlay\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated
!!
********************************************************************************
Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).
By 2026-Feb-18, you need to update your project and remove deprecated calls
or your builds will no longer be supported.
See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************
!!
corresp(dist, value, root_dir)
C:\users\MYUSER\AppData\Local\Temp\2\pip-build-env-bfe1h5dk\overlay\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!
********************************************************************************
Please consider removing the following classifiers in favor of a SPDX license expression:
License :: OSI Approved :: MIT No Attribution License (MIT-0)
See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************
!!
dist._finalize_license_expression()
C:\users\MYUSER\AppData\Local\Temp\2\pip-build-env-bfe1h5dk\overlay\Lib\site-packages\setuptools\dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!
********************************************************************************
Please consider removing the following classifiers in favor of a SPDX license expression:
License :: OSI Approved :: MIT No Attribution License (MIT-0)
See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************
!!
self._finalize_license_expression()
running bdist_wheel
running build
running build_py
creating build\lib.win-amd64-cpython-314
copying src\pyodbc.pyi -> build\lib.win-amd64-cpython-314
running build_ext
building 'pyodbc' extension
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pyodbc
Failed to build pyodbc
error: failed-wheel-build-for-install
× Failed to build installable wheels for some pyproject.toml based projects
╰─> pyodbc
Is the only thing I need to do is install VC++ 14.0 tools? Why isn’t that on this version of Windows? This Windows seems pretty new.
No version of Windows ships with a C compiler. So yes, just do as it says and install VC++. Or twiddle your thumbs until pyodbc gets a release out with 3.14 wheels precompiled.
It’s not that they’re incompatible – it’s just that they haven’t published for 3.14 yet. If you look at the available wheels page, you can see that every .whl file is tied to a specific Python version and they haven’t caught up with 3.14 yet (there’s an open issue for it).
Probably not. Setting up VC is a pain and that’s assuming that pyodbc doesn’t require any of its own special setup steps.
For C externsion packages, you can download the source code and read how it gets the header files path and what source file, lib file or dll it need in “setup.py”. Combined with the condition in your computer and change the way to get the paths or files.
Use pip install . to test whether it can be installed now. If there is some things that hard to understand you can also ask AI to get some help.
Of course, it is just a temporary solution.
Pyodbc uses the pypa/cibuildwheel action to build its wheels, which as expected is now building 3.14 wheels. I don’t know what the publishing process is, nor why the 3.14 ones are excluded. And these aren’t official releases, and should be tested against the full test suite before relying on them. But unreleased Pyodbc wheels for 3.14 can be down loaded here, from the project’s own CD pipeline: https://github.com/mkleehammer/pyodbc/actions/runs/18481888011/artifacts/4260110111
However I did find more Actions here: Workflow runs · mkleehammer/pyodbc · GitHub It does look like the author is trying to build the wheels but I’m not familiar with what I should look for on the Actions page.
I think I’ll wait for a tested wheel.
I use Windows, it looks like the Windows X86 wheel has been compiled. How do I know when it’s been tested so I can install it with pip in my system?
Ah sorry - that’s good to know for future reference.
As it happens, Github logged me out on this browser. So at first, my link didn’t work for me either (just now). It worked after I logged back in again now though (and on another browser I’m logged in on).
I would recommend you follow the second link in any case, to understand where the wheels have come from (instead of trusting random links to binaries, even from myself). When logged out, I can still follow the second link (“Build output”), but it doesn’t let me see the details for the Upload artefacts job, which is where I got that first link from.
Re: testing. [edit] Pyodbc is tested on Windows via appveyor, I just haven’t noticed any tests for 3.14