Update deps, allow Python 3.9, drop Fedora 32 (#5121)

* Update deps + allow Python 3.9

* Add in updates from Jack's branch

* Fix multiple target for cross-reference warnings

* Update a few more Python 3.8 occurrences

* Bump further

* Don't install tox in CodeQL environment

* Bump Python version in docs to 3.9.7

* more bumps

* Add missing pin

* Stop using the deprecated distro.linux_distribution()

* Suppress deprecation warning

* Fix OpenSUSE Leap instructions

* Drop Fedora 32

* Add Python 3.10-dev to CI

* meh

Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
This commit is contained in:
palmtree5
2021-09-06 08:43:29 -08:00
committed by GitHub
parent 0dded8aa47
commit 3254698c78
14 changed files with 141 additions and 90 deletions

View File

@@ -1053,7 +1053,7 @@ Core Bot
- Added data request API (:issue:`4045`, :issue:`4169`)
- New special methods added to `commands.Cog`: `red_get_data_for_user()` (documented provisionally), `red_delete_data_for_user()`
- New special methods added to `redbot.core.commands.Cog`: `red_get_data_for_user()` (documented provisionally), `red_delete_data_for_user()`
- New special module level variable added: ``__red_end_user_data_statement__``
- These methods and variables should be added by all cogs according to their documentation; see `recommendations-for-cog-creators` for more information
- New ``info.json`` key added: ``end_user_data_statement``; see `Info.json format documentation <info-json-format>` for more information

View File

@@ -17,7 +17,7 @@ Installing the pre-requirements
Please install the pre-requirements using the commands listed for your operating system.
The pre-requirements are:
- Python 3.8.1 or greater; **Python 3.9 is currently not supported!**
- Python 3.8.1 or greater
- Pip 18.1 or greater
- Git 2.11+
- Java Runtime Environment 11 (for audio support)
@@ -40,11 +40,6 @@ Operating systems
Arch Linux
~~~~~~~~~~
.. warning::
Latest Python packages for Arch Linux provide Python 3.9 which Red does not currently support.
To use Red on Arch Linux, you will need to install latest version of Python 3.8 on your own.
.. prompt:: bash
sudo pacman -Syu python python-pip git jre11-openjdk-headless base-devel nano
@@ -76,7 +71,7 @@ In order to install Git 2.11 or greater, we recommend adding the IUS repository:
sudo yum -y install https://repo.ius.io/ius-release-el7.rpm
sudo yum -y swap git git224
Complete the rest of the installation by `installing Python 3.8 with pyenv <install-python-pyenv>`.
Complete the rest of the installation by `installing Python 3.9 with pyenv <install-python-pyenv>`.
----
@@ -94,7 +89,7 @@ CentOS and RHEL 8
sudo yum -y groupinstall development
sudo yum -y install git zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel tk-devel libffi-devel findutils java-11-openjdk-headless nano
Complete the rest of the installation by `installing Python 3.8 with pyenv <install-python-pyenv>`.
Complete the rest of the installation by `installing Python 3.9 with pyenv <install-python-pyenv>`.
----
@@ -114,7 +109,7 @@ Debian/Raspbian Buster. This guide will tell you how. First, run the following c
sudo apt -y install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev libgdbm-dev uuid-dev python3-openssl git openjdk-11-jre-headless nano
CXX=/usr/bin/g++
Complete the rest of the installation by `installing Python 3.8 with pyenv <install-python-pyenv>`.
Complete the rest of the installation by `installing Python 3.9 with pyenv <install-python-pyenv>`.
----
@@ -124,12 +119,12 @@ Complete the rest of the installation by `installing Python 3.8 with pyenv <inst
Fedora Linux
~~~~~~~~~~~~
Fedora Linux 32 and above has all required packages available in official repositories. Install
Fedora Linux 33 and above has all required packages available in official repositories. Install
them with dnf:
.. prompt:: bash
sudo dnf -y install python38 git java-11-openjdk-headless @development-tools nano
sudo dnf -y install python39 git java-11-openjdk-headless @development-tools nano
Continue by `creating-venv-linux`.
@@ -153,8 +148,8 @@ one-by-one:
.. prompt:: bash
brew install python@3.8
echo 'export PATH="$(brew --prefix)/opt/python@3.8/bin:$PATH"' >> ~/.profile
brew install python@3.9
echo 'export PATH="$(brew --prefix)/opt/python@3.9/bin:$PATH"' >> ~/.profile
source ~/.profile
brew install git
brew install --cask adoptopenjdk/openjdk/adoptopenjdk11
@@ -172,7 +167,7 @@ openSUSE
openSUSE Leap 15.2+
*******************
We recommend installing a community package to get Python 3.8 on openSUSE Leap 15.2+. This package will
We recommend installing a community package to get Python 3.9 on openSUSE Leap 15.2+. This package will
be installed to the ``/opt`` directory.
First, add the Opt-Python community repository:
@@ -187,7 +182,7 @@ Now install the pre-requirements with zypper:
.. prompt:: bash
sudo zypper -n install opt-python38 opt-python38-setuptools git-core java-11-openjdk-headless nano
sudo zypper -n install opt-python39 opt-python39-setuptools git-core java-11-openjdk-headless nano
sudo zypper -n install -t pattern devel_basis
Since Python is now installed to ``/opt/python``, we should add it to PATH. You can add a file in
@@ -198,11 +193,16 @@ Since Python is now installed to ``/opt/python``, we should add it to PATH. You
echo 'export PATH="/opt/python/bin:$PATH"' | sudo tee /etc/profile.d/opt-python.sh
source /etc/profile.d/opt-python.sh
Now, install pip with easy_install:
Now, bootstrap pip with ensurepip:
.. prompt:: bash
sudo /opt/python/bin/easy_install-3.8 pip
sudo /opt/python/bin/python3.9 -m ensurepip --altinstall
.. note::
After this command, a warning about running pip as root might be printed.
For this specific command, this warning can be safely ignored.
Continue by `creating-venv-linux`.
@@ -214,7 +214,7 @@ with zypper:
.. prompt:: bash
sudo zypper -n install python38-base python38-pip git-core java-11-openjdk-headless nano
sudo zypper -n install python39-base python39-pip git-core java-11-openjdk-headless nano
sudo zypper -n install -t pattern devel_basis
Continue by `creating-venv-linux`.
@@ -235,7 +235,7 @@ We recommend adding the ``git-core`` ppa to install Git 2.11 or greater:
sudo apt -y install software-properties-common
sudo add-apt-repository -y ppa:git-core/ppa
We recommend adding the ``deadsnakes`` ppa to install Python 3.8.1 or greater:
We recommend adding the ``deadsnakes`` ppa to install Python 3.9:
.. prompt:: bash
@@ -245,7 +245,7 @@ Now install the pre-requirements with apt:
.. prompt:: bash
sudo apt -y install python3.8 python3.8-dev python3.8-venv python3-pip git openjdk-11-jre-headless build-essential nano
sudo apt -y install python3.9 python3.9-dev python3.9-venv python3-pip git openjdk-11-jre-headless build-essential nano
Continue by `creating-venv-linux`.
@@ -269,7 +269,7 @@ Now install the pre-requirements with apt:
.. prompt:: bash
sudo apt -y install python3.8 python3.8-dev python3.8-venv python3-pip git openjdk-11-jre-headless build-essential nano
sudo apt -y install python3.9 python3.9-dev python3.9-venv python3-pip git openjdk-11-jre-headless build-essential nano
Continue by `creating-venv-linux`.
@@ -297,7 +297,7 @@ installing pyenv. To do this, first run the following commands:
sudo apt -y install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev libgdbm-dev uuid-dev python3-openssl git openjdk-11-jre-headless nano
CXX=/usr/bin/g++
And then complete the rest of the installation by `installing Python 3.8 with pyenv <install-python-pyenv>`.
And then complete the rest of the installation by `installing Python 3.9 with pyenv <install-python-pyenv>`.
----
@@ -312,7 +312,7 @@ Installing Python with pyenv
If you followed one of the sections above, and weren't linked here afterwards, you should skip
this section.
On distributions where Python 3.8 needs to be compiled from source, we recommend the use of pyenv.
On distributions where Python 3.9 needs to be compiled from source, we recommend the use of pyenv.
This simplifies the compilation process and has the added bonus of simplifying setting up Red in a
virtual environment.
@@ -327,7 +327,7 @@ Then run the following command:
.. prompt:: bash
CONFIGURE_OPTS=--enable-optimizations pyenv install 3.8.10 -v
CONFIGURE_OPTS=--enable-optimizations pyenv install 3.9.7 -v
This may take a long time to complete, depending on your hardware. For some machines (such as
Raspberry Pis and micro-tier VPSes), it may take over an hour; in this case, you may wish to remove
@@ -339,9 +339,9 @@ After that is finished, run:
.. prompt:: bash
pyenv global 3.8.10
pyenv global 3.9.7
Pyenv is now installed and your system should be configured to run Python 3.8.
Pyenv is now installed and your system should be configured to run Python 3.9.
Continue by `creating-venv-linux`.
@@ -381,7 +381,7 @@ Create your virtual environment with the following command:
.. prompt:: bash
python3.8 -m venv ~/redenv
python3.9 -m venv ~/redenv
And activate it with the following command:

View File

@@ -11,7 +11,7 @@ Installing the pre-requirements
Please install the pre-requirements by following instructions from one of the following subsections.
The pre-requirements are:
- Python 3.8.1 or greater; **Python 3.9 is currently not supported!**
- Python 3.8.1 or greater
- Pip 18.1 or greater
- Git 2.11+
- Java Runtime Environment 11 (for audio support)
@@ -40,7 +40,7 @@ Then run each of the following commands:
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
choco upgrade git --params "/GitOnlyOnPath /WindowsTerminal" -y
choco upgrade visualstudio2019-workload-vctools -y
choco upgrade python3 -y --version 3.8.10
choco upgrade python3 -y --version 3.9.7
For Audio support, you should also run the following command before exiting:
@@ -64,7 +64,7 @@ Manually installing dependencies
* `MSVC Build tools <https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2019>`_
* `Python 3.8.1 or greater <https://www.python.org/downloads/>`_; **Python 3.9 is currently not supported!**
* `Python 3.8.1 or greater <https://www.python.org/downloads/>`_
.. attention:: Please make sure that the box to add Python to PATH is CHECKED, otherwise
you may run into issues when trying to run Red.
@@ -111,7 +111,7 @@ Then create your virtual environment with the following command
.. prompt:: batch
py -3.8 -m venv "%userprofile%\redenv"
py -3.9 -m venv "%userprofile%\redenv"
And activate it with the following command