jannikmi / timezonefinder

python package for finding the timezone of any point on earth (coordinates) offline
https://timezonefinder.michelfe.it/
MIT License
449 stars 48 forks source link

Can no longer build wheel for timezonefinder on Windows #243

Open kylemacfarlan opened 2 weeks ago

kylemacfarlan commented 2 weeks ago

Over the last couple of days I seem to have lost the ability to build wheels for timezonefinder. This includes 6.5.2 and 6.1.3 (6.1.3 is what we were on, but I also tried upgrading). I thought it might have been due to setuptools releasing a new version, but I put my setuptools back with no effect.

Here is the error I get after running pip install timezonefinder==6.5.2 (in a clean venv after removing cached wheels from my appdata directory):

File "*****\Local\Temp\pip-build-env-7y50dsrk\overlay\Lib\site-packages\cffi\_shimmed_dist_utils.py", line 33, in <module> from distutils.msvc9compiler import MSVCCompiler ModuleNotFoundError: No module named 'distutils.msvc9compiler'

My system information: Python 3.10.11 x64 VS2022 installed Windows 11

Is anyone else seeing this issue or have any idea what could have caused this?

dbushong commented 2 weeks ago

Caused by this, I believe: https://github.com/python-cffi/cffi/issues/117 which is caused by the setuptools 74.x update.

It seems like when timezonefinder goes to do its build, it installs its own copy of the latest setuptools, so even if you try to pin it to an earlier version while the cffi issue is being worked on, it doesn't help.

I haven't found a workaround yet.

bkandel-edf commented 2 weeks ago

I have the same issue. I upgraded my computer this week and have to reinstall several projects. Pip now fails to install timezonfinder in all my environments that need this package...

bkandel-edf commented 2 weeks ago

Currently solving the problem with an earlier version >> pip install timezonefinder<6.1

jannikmi commented 2 weeks ago

Thanks for bringing this up. Can someone check if the build dependencies can be updated/pinned to fix this please? I currently don't have time to look into this.