mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
(core) Upgrade to Python 3.11
Summary: Replaced mentions of Python 3.9 with 3.11 Test Plan: this Reviewers: paulfitz, georgegevoian Reviewed By: paulfitz, georgegevoian Subscribers: dsagal, georgegevoian, paulfitz Differential Revision: https://phab.getgrist.com/D3980
This commit is contained in:
parent
6416994c22
commit
5dfa9a542c
14
Dockerfile
14
Dockerfile
@ -39,8 +39,8 @@ RUN yarn run build:prod
|
||||
## Python collection stage
|
||||
################################################################################
|
||||
|
||||
# Fetch python3.9 and python2.7
|
||||
FROM python:3.9-slim-buster as collector
|
||||
# Fetch python3.11 and python2.7
|
||||
FROM python:3.11-slim-buster as collector
|
||||
|
||||
# Install all python dependencies.
|
||||
ADD sandbox/requirements.txt requirements.txt
|
||||
@ -89,13 +89,13 @@ COPY --from=builder /grist/static /grist/static-built
|
||||
COPY --from=collector /usr/bin/python2.7 /usr/bin/python2.7
|
||||
COPY --from=collector /usr/lib/python2.7 /usr/lib/python2.7
|
||||
COPY --from=collector /usr/local/lib/python2.7 /usr/local/lib/python2.7
|
||||
COPY --from=collector /usr/local/bin/python3.9 /usr/bin/python3.9
|
||||
COPY --from=collector /usr/local/lib/python3.9 /usr/local/lib/python3.9
|
||||
COPY --from=collector /usr/local/lib/libpython3.9.* /usr/local/lib/
|
||||
COPY --from=collector /usr/local/bin/python3.11 /usr/bin/python3.11
|
||||
COPY --from=collector /usr/local/lib/python3.11 /usr/local/lib/python3.11
|
||||
COPY --from=collector /usr/local/lib/libpython3.11.* /usr/local/lib/
|
||||
# Set default to python3
|
||||
RUN \
|
||||
ln -s /usr/bin/python3.9 /usr/bin/python && \
|
||||
ln -s /usr/bin/python3.9 /usr/bin/python3 && \
|
||||
ln -s /usr/bin/python3.11 /usr/bin/python && \
|
||||
ln -s /usr/bin/python3.11 /usr/bin/python3 && \
|
||||
ldconfig
|
||||
|
||||
# Copy runsc.
|
||||
|
@ -377,7 +377,7 @@ Then, you can run the main test suite like so:
|
||||
yarn test
|
||||
```
|
||||
|
||||
Python tests may also be run locally. (Note: currently requires Python 3.9.)
|
||||
Python tests may also be run locally. (Note: currently requires Python 3.9 - 3.11.)
|
||||
|
||||
```
|
||||
yarn test:python
|
||||
|
@ -1021,9 +1021,13 @@ function findPython(command: string|undefined, preferredVersion?: string) {
|
||||
}
|
||||
}
|
||||
// Fall back on system python.
|
||||
return which.sync(preferredVersion === '2' ? 'python2' : 'python3', {nothrow: true})
|
||||
|| which.sync(preferredVersion === '2' ? 'python2.7' : 'python3.9', {nothrow: true})
|
||||
|| which.sync('python');
|
||||
const systemPrefs = preferredVersion === '2' ? ['2.7', '2', ''] : ['3.11', '3.10', '3.9', '3', ''];
|
||||
for (const version of systemPrefs) {
|
||||
const pythonPath = which.sync(`python${version}`, {nothrow: true});
|
||||
if (pythonPath) {
|
||||
return pythonPath;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -10,8 +10,7 @@ To setup your environment, you would need to install the following dependencies:
|
||||
- git
|
||||
- [nvm](https://github.com/nvm-sh/nvm/blob/master/README.md) (recommended) or nodejs installed on your system
|
||||
- Chromium to run the end-to-end tests
|
||||
- Python (preferably Python 3.9) and virtualenv
|
||||
- :warning: As of 2023-06-06, Python 3.11 is not supported due to the version of the [wrapt dependency](https://github.com/GrahamDumpleton/wrapt/issues/196)
|
||||
- Python (preferably Python 3.11, minimum 3.9) and virtualenv
|
||||
|
||||
### Clone the repository
|
||||
|
||||
@ -61,7 +60,7 @@ You can also use nodejs installed in your system. To prevent incompatibilities,
|
||||
Be sure to have Python and virtualenv installed. On debian-based Linux distributions, you can simply run the following command as root:
|
||||
|
||||
```bash
|
||||
# apt install python3.9 python3.9-venv
|
||||
# apt install python3.11 python3.11-venv
|
||||
```
|
||||
|
||||
### Install the project dependencies and build
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM python:3.9
|
||||
FROM python:3.11
|
||||
|
||||
COPY requirements3.txt /tmp/requirements3.txt
|
||||
|
||||
|
@ -173,9 +173,9 @@ if not include_python2:
|
||||
# We expect python3 in /usr/bin or /usr/local/bin.
|
||||
candidates = [
|
||||
path
|
||||
# Pick the most generic python if not matching python3.9.
|
||||
# Pick the most generic python if not matching python3.11.
|
||||
# Sorry this is delicate because of restores, mounts, symlinks.
|
||||
for pattern in ['python3.9', 'python3', 'python3*']
|
||||
for pattern in ['python3.11', 'python3.10', 'python3.9', 'python3', 'python3*']
|
||||
for root in ['/usr/local', '/usr']
|
||||
for path in glob.glob(f'{root}/bin/{pattern}')
|
||||
if os.path.exists(path)
|
||||
|
@ -12,3 +12,4 @@ python-dateutil
|
||||
six
|
||||
sortedcontainers
|
||||
unittest-xml-reporting
|
||||
typing-extensions # used by astroid before Python 3.11
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# This file is autogenerated by pip-compile with Python 3.9
|
||||
# This file is autogenerated by pip-compile with Python 3.11
|
||||
# by the following command:
|
||||
#
|
||||
# pip-compile --output-file=core/sandbox/requirements3.txt core/sandbox/requirements3.in
|
||||
@ -48,7 +48,7 @@ sortedcontainers==2.4.0
|
||||
stack-data==0.5.1
|
||||
# via friendly-traceback
|
||||
typing-extensions==4.4.0
|
||||
# via astroid
|
||||
# via -r core/sandbox/requirements3.in
|
||||
unittest-xml-reporting==2.0.0
|
||||
# via -r core/sandbox/requirements3.in
|
||||
wrapt==1.15.0
|
||||
|
Loading…
Reference in New Issue
Block a user