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

Build: unpin Pillow for unsupported Python versions #9473

Merged
merged 6 commits into from
Aug 9, 2022

Conversation

humitos
Copy link
Member

@humitos humitos commented Aug 3, 2022

Pillow supports specific versions of Python. They are shown in this table:
https://pillow.readthedocs.io/en/stable/installation.html#python-support

For unsupported Python versions, they don't offer wheels. Meaning that Read the
Docs needs to compile the Pillow version on each build.

Ideally, we should unpin Pillow completely and install always the latest version
that's supported for this particular Python (as we do with other requirements
like Sphinx or MkDocs).

However, this commit kept old Python versions to keep using Pillow==5.4.1.

Closes #9118


📚 Documentation preview 📚: https://docs--9473.org.readthedocs.build/en/9473/

Pillow supports specific versions of Python. They are shown in this table:
https://pillow.readthedocs.io/en/stable/installation.html#python-support

For unsupported Python versions, they don't offer wheels. Meaning that Read the
Docs needs to compile the Pillow version on each build.

Ideally, we should unpin Pillow completely and install always the latest version
that's supported for this particular Python (as we do with other requirements
like Sphinx or MkDocs).

However, this commit kept old Python versions to keep using `Pillow==5.4.1`.
@humitos humitos requested a review from a team as a code owner August 3, 2022 14:59
@humitos humitos requested a review from stsewd August 3, 2022 14:59
@humitos
Copy link
Member Author

humitos commented Aug 3, 2022

In case my query is correct, 4373 projects are currently affected by this. Note that this will have a good impact regarding build time on those projects.

humitos added 2 commits August 3, 2022 17:41
I'm putting `pillow` first to be able to compare it when running the tests.
@humitos
Copy link
Member Author

humitos commented Aug 3, 2022

Interesting... I don't have this test failing locally 🤔

TestBuildTask.test_build_commands_executed
E         Left contains 2 more items:
E         {'demux': True, 'record': False}

@humitos
Copy link
Member Author

humitos commented Aug 3, 2022

Nah, I was just not running that file 🙃

Copy link
Member

@stsewd stsewd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should update our docs at https://docs.readthedocs.io/en/stable/build-default-versions.html#python to mention this.

@humitos humitos requested a review from a team as a code owner August 8, 2022 09:50
@humitos humitos requested a review from agjohnson August 8, 2022 09:50
@humitos humitos requested review from stsewd and removed request for agjohnson August 8, 2022 09:50
'commonmark==0.8.1',
'recommonmark==0.5.0',
]
requirements = []
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure where that link points exactly because it doesn't show me a specific line or similar.

However, I've done it in this way to avoid changing all the tests that require a specific order of requirements to check them.

I want to merge and deploy this today, but if you feel strongly about this, we can continue talking and change it later.

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

Successfully merging this pull request may close these issues.

Do not install unsupported Pillow for Python 3.8+
2 participants