Closed
actions/python-versions
#171Description
Description:
There seems to be a mistmatch between the tkinter versions with Python 3.7 on macOS.
Action version:
v3
Which at the time of writting is v3.1.2
Platform:
- Ubuntu
- macOS
- Windows
Runner type:
- Hosted
- Self-hosted
Tools version:
- Python 3.7
- Specically 3.7.13
- Current runner version: '2.291.1'
- macOS (latest) 11.6.5 20G527
Repro steps:
This simple script opens a tkinter window and closes it after 5 seconds:
import tkinter as tk
root = tk.Tk()
label = tk.Label(root, text="Hello World!")
label.pack(padx=20, pady=20)
root.after(5000, root.destroy) # Close the Window after 5 seconds
root.mainloop()
With this workflow:
name: Test Python Tk
on: [push, pull_request]
jobs:
tests-poetry:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"]
fail-fast: false
name: Py ${{ matrix.python-version }} - ${{ matrix.os }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Prepare Ubuntu xvfb
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libxkbcommon-x11-0 xvfb
- name: Run tk script (closes itself after 5 seconds) - Ubuntu
if: runner.os == 'Linux'
run: xvfb-run python tk_min.py
- name: Run tk script (closes itself after 5 seconds)
if: runner.os != 'Linux'
run: python tk_min.py
Works in all Python versions and operating systems except 3.7 on macOS:
- https://github.com/carlosperate/pyinstaller-test/actions/runs/2281830156
- carlosperate/pyinstaller-test@a216015
Expected behavior:
The Python script to run without throwing an exception
Actual behavior:
An exception thrown by Python:
Traceback (most recent call last):
File "tk_min.py", line 9, in <module>
root = tk.Tk()
File "/Users/runner/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/tkinter/__init__.py", line 2025, in __init__
self._loadtk()
File "/Users/runner/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/tkinter/__init__.py", line 2040, in _loadtk
% (_tkinter.TK_VERSION, tk_version))
RuntimeError: tk.h version (8.6) doesn't match libtk.a version (8.5)
Metadata
Metadata
Labels
Something isn't workingSomething isn't working