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
|
## Python collection stage
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
# Fetch python3.9 and python2.7
|
# Fetch python3.11 and python2.7
|
||||||
FROM python:3.9-slim-buster as collector
|
FROM python:3.11-slim-buster as collector
|
||||||
|
|
||||||
# Install all python dependencies.
|
# Install all python dependencies.
|
||||||
ADD sandbox/requirements.txt requirements.txt
|
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/bin/python2.7 /usr/bin/python2.7
|
||||||
COPY --from=collector /usr/lib/python2.7 /usr/lib/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/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/bin/python3.11 /usr/bin/python3.11
|
||||||
COPY --from=collector /usr/local/lib/python3.9 /usr/local/lib/python3.9
|
COPY --from=collector /usr/local/lib/python3.11 /usr/local/lib/python3.11
|
||||||
COPY --from=collector /usr/local/lib/libpython3.9.* /usr/local/lib/
|
COPY --from=collector /usr/local/lib/libpython3.11.* /usr/local/lib/
|
||||||
# Set default to python3
|
# Set default to python3
|
||||||
RUN \
|
RUN \
|
||||||
ln -s /usr/bin/python3.9 /usr/bin/python && \
|
ln -s /usr/bin/python3.11 /usr/bin/python && \
|
||||||
ln -s /usr/bin/python3.9 /usr/bin/python3 && \
|
ln -s /usr/bin/python3.11 /usr/bin/python3 && \
|
||||||
ldconfig
|
ldconfig
|
||||||
|
|
||||||
# Copy runsc.
|
# Copy runsc.
|
||||||
|
@ -377,7 +377,7 @@ Then, you can run the main test suite like so:
|
|||||||
yarn test
|
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
|
yarn test:python
|
||||||
|
@ -1021,9 +1021,13 @@ function findPython(command: string|undefined, preferredVersion?: string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Fall back on system python.
|
// Fall back on system python.
|
||||||
return which.sync(preferredVersion === '2' ? 'python2' : 'python3', {nothrow: true})
|
const systemPrefs = preferredVersion === '2' ? ['2.7', '2', ''] : ['3.11', '3.10', '3.9', '3', ''];
|
||||||
|| which.sync(preferredVersion === '2' ? 'python2.7' : 'python3.9', {nothrow: true})
|
for (const version of systemPrefs) {
|
||||||
|| which.sync('python');
|
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
|
- git
|
||||||
- [nvm](https://github.com/nvm-sh/nvm/blob/master/README.md) (recommended) or nodejs installed on your system
|
- [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
|
- Chromium to run the end-to-end tests
|
||||||
- Python (preferably Python 3.9) and virtualenv
|
- Python (preferably Python 3.11, minimum 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)
|
|
||||||
|
|
||||||
### Clone the repository
|
### 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:
|
Be sure to have Python and virtualenv installed. On debian-based Linux distributions, you can simply run the following command as root:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# apt install python3.9 python3.9-venv
|
# apt install python3.11 python3.11-venv
|
||||||
```
|
```
|
||||||
|
|
||||||
### Install the project dependencies and build
|
### Install the project dependencies and build
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
FROM python:3.9
|
FROM python:3.11
|
||||||
|
|
||||||
COPY requirements3.txt /tmp/requirements3.txt
|
COPY requirements3.txt /tmp/requirements3.txt
|
||||||
|
|
||||||
|
@ -173,9 +173,9 @@ if not include_python2:
|
|||||||
# We expect python3 in /usr/bin or /usr/local/bin.
|
# We expect python3 in /usr/bin or /usr/local/bin.
|
||||||
candidates = [
|
candidates = [
|
||||||
path
|
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.
|
# 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 root in ['/usr/local', '/usr']
|
||||||
for path in glob.glob(f'{root}/bin/{pattern}')
|
for path in glob.glob(f'{root}/bin/{pattern}')
|
||||||
if os.path.exists(path)
|
if os.path.exists(path)
|
||||||
|
@ -12,3 +12,4 @@ python-dateutil
|
|||||||
six
|
six
|
||||||
sortedcontainers
|
sortedcontainers
|
||||||
unittest-xml-reporting
|
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:
|
# by the following command:
|
||||||
#
|
#
|
||||||
# pip-compile --output-file=core/sandbox/requirements3.txt core/sandbox/requirements3.in
|
# 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
|
stack-data==0.5.1
|
||||||
# via friendly-traceback
|
# via friendly-traceback
|
||||||
typing-extensions==4.4.0
|
typing-extensions==4.4.0
|
||||||
# via astroid
|
# via -r core/sandbox/requirements3.in
|
||||||
unittest-xml-reporting==2.0.0
|
unittest-xml-reporting==2.0.0
|
||||||
# via -r core/sandbox/requirements3.in
|
# via -r core/sandbox/requirements3.in
|
||||||
wrapt==1.15.0
|
wrapt==1.15.0
|
||||||
|
Loading…
Reference in New Issue
Block a user