Closed wilsonwaters closed 1 year ago
Result of pip install pip install git+https://github.com/wilsonwaters/copier@remove-iteration-utilities
using #890
iteration-utilities
provides wheels for up to Python 3.9, but not 3.10/3.11 unfortunately. You could try to open an issue on their bugtracker to ask for 3.10/3.11 wheels. This way you'd just have to pre-install wheel
in your venv before installing Copier, and pip would pick the precompiled wheel instead of building it.
Hi @pawamoy, thanks for the suggestion. I agree that asking the iteration-utilities team to build wheels for python 3.10 would be the best solution. However the existing issue on their bugtracker has been open for 6+ months so it seems it may not get resolved. I also note the project hasn't had any commits for 2+ years.
I thought it might be better to solve the issue by removing the dependency on iteration-utilities. Which is done in #890 .
Hello!
Ah I'm so sad you already opened the PR with tests and all that... 😣 I'm sorry for answering this late.
Sadly I can't accept #890. At least for this reason. It means adding more maintenance burden on copier, where we have a big scope already.
Besides, we can't just absorb every project that doesn't provide a wheel. Sooner or later you'll find one of those you need, and you'll have to add the dependencies needed to compile it.
So, the fix copier really needs is docs. Just explain how to install on windows. Or what to do if you encounter this error. That should settle the case now and potentially for any other windows + architecture + python version combination.
Hi @yajo,
I understand and agree with the general principle that you've outlined of minimising code, especially for functionality that's not part of the core of copier. Every bit of code you add of course has a cost. However, in this case I'd ask that you reconsider given:
init
command with templating. Copier is frankly incredible for this use case, the functionality is top class and the experience we are able to provide is phenominal. Thank you!
Given all of that, hopefully you can agree that in this instance, swapping out iteration_utilities is a no brainer option that will significantly improve the copier experience?
I've be thinking about this. Thanks for the detailed explanation, it helps me understand better the magnitude of the issue. 🙂
After some research, i think we can get to a solution good for everybody: using a different library which is pure python. See https://stackoverflow.com/a/55305409
What do you think? Wanna open the PR?
Definitely. Thanks for engaging with us on this :)
We'll get a pull request over early in the week.
Nice find @yajo. The funcy package should solve this without introducing additional code.
New PR opened with this change #898
Thanks @yajo.
Any thoughts on when the next release/PyPi package will be? I see there's plenty left in your soon milestone.
I don't have a specific plan, but there are some pending things I'd like to be in the next release. Usually you can install from master, but if you need wheels or stuff like that, I can push an alpha tag.
Pushing an alpha tagged release to pypi would be amazing if you don't mind @yajo. Thanks.
Hey @yajo. Thought I would check in and see if you're able to push an alpha tag release to pypi? Hopefully it's not a time consuming task for you! Thanks
Yep sorry, I was waiting to have some time to analyze what changelog is produced. I use commitizen for tags and it has https://github.com/commitizen-tools/commitizen/issues/364.
Well, it won't be the changelog I'd love to have, but it's something. When fixed upstream, we'll have a better one.
Summarizing, there you have: https://github.com/copier-org/copier/releases/tag/v7.1.0a0 (in some minutes there should be a wheel pushed on pypi)
Thanks @wilsonwaters to pointing out the discussion in the issue and that an alpha has been released. My question for the release is: do you have a rough estimation of the next final release that will include this feature? I don't want to put any pressure here; just some idea to know if I can move fast to a migration from cookiecutter to copier or not.
Sorry my friend, I don't have a schedule as this project is maintained in my free time. In the best case I need to fix https://github.com/copier-org/copier/issues/883 before the next release, or I'll have a lot of bug reports like that, which I don't want to have. 😆
I have a fix in the oven but I didn't have much free time last weeks.
In any case, IMHO you can proceed with the migration from cookiecutter. All you have to do is instruct your windows users to install Copier with pip install copier==7.1.0a0
.
Thanks @yajo
Describe the problem Running
pip install copier
with python 3.10 fails on Windows when the Microsoft C++ build tools package is not installed. I would prefer not install the heavy (7GB) c++ compiler installed just to use copier.This seems to be caused by the iteration_utilities package lacking a python 3.10 wheel file in pypi and it doesn't look like they are planning to generate wheel files for python 3.10 any time soon.
To Reproduce
pip install copier
on Windows with python 3.10 and without visual c++ compiler installedLogs
Running
pip install copier
Likewise when running
poetry install
as part of the copier contribution dev guidelinesExpected behavior
pip install copier
should install copier without errorEnvironment