Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cached build of setup.py #50

Closed
kavvkon opened this issue Dec 30, 2017 · 7 comments
Closed

Cached build of setup.py #50

kavvkon opened this issue Dec 30, 2017 · 7 comments

Comments

@kavvkon
Copy link

kavvkon commented Dec 30, 2017

I have been trying to troubleshoot a unicodedecode error that I get: https://ci.appveyor.com/project/kavvkon/gams-api/build/1.0.8

For this reason I created a new branch and simplified the setup.py. However it seems that a previous version of setup.py is used.

Is it using some kind of cache? Any ideas on the above unicodedecode error? I wasn't able to reproduce locally. Thanks for the nice work

@YannickJadoul
Copy link
Member

I think I see the problem. Correct me if I'm wrong but I assume you have already uploaded a wheel to PyPI? So when you run the build for the first Python version, you get

Executing: pip wheel gdxcc -w c:\users\appveyor\appdata\local\temp\1\cibuildwheelgp0rqv\built_wheel --no-deps
Collecting gdxcc
  Downloading gdxcc-7.post2492.tar.gz (72kB)
Building wheels for collected packages: gdxcc
  Running setup.py bdist_wheel for gdxcc: started
  Running setup.py bdist_wheel for gdxcc: finished with status 'done'

I.e., instead of interpreting the gdxcc as subfolder, it's interpreted as a PyPI package and the source build is downloaded. That's why Using cached gdxcc-7.post2492.tar.gz pops up for the next Python version: that's not a cibuildwheel or AppVeyor cache, that's just pip having downloaded that before.

Quick fix to test your separate branch: use a different version number and don't upload it automatically to the PyPI!

Meanwhile I'll have a quick look to see if I can fix the call to pip wheel in cibuildwheel ...

@YannickJadoul
Copy link
Member

YannickJadoul commented Dec 30, 2017

I've just submitted a PR, #51. If tests run fine (they seem to be going well), I suggest you'd try to use that in your script (i.e., pip install cibuildwheel from https://github.com/YannickJadoul/cibuildwheel/archive/single-subdir-project-fix.zip)

@kavvkon
Copy link
Author

kavvkon commented Dec 30, 2017

Thanks for the fast reply. Indeed it was downloading it, even after the version bump. I fixed it by explicitly calling the directory as follows:
- cibuildwheel ./gdxcc --output-dir wheelhouse

I have still the unicode error though and I cannot track it. Locally it builds fine. Do you think it is related with this package?

@YannickJadoul
Copy link
Member

Ha, that's of course an even easier solution, just prepending './' :-D

I don't think the unicode error has something to do with cibuildwheel, but I was just looking at the error, and it seems it's related to MANIFEST.in. So I downloaded that file, and ... there is apparently an invisible 0x90 character in there (see screenshot) that distutils is complaining about: UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 60: character maps to <undefined>?

screenshot from 2017-12-30 14-00-14

@kavvkon
Copy link
Author

kavvkon commented Dec 30, 2017

Well, that was a bit embarrassing :) Seems to work fine now, many thanks for the help and this nice package!

@kavvkon kavvkon closed this as completed Dec 30, 2017
@YannickJadoul
Copy link
Member

Don't worry. Rather, thanks for finding this issue in cibuildwheel with the subfolder/package!

@joerick
Copy link
Contributor

joerick commented Jan 4, 2018

Top work debugging this @YannickJadoul! the PR's merged now, so this should be fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants