添加pyqt5到 GitHub 的教程可以在此執行緒中:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Setup python
uses: actions/setup-python@v2
with:
python-version: 3.6
architecture: x64
- name: Install pyqt4 pyqt5
run: |
sudo apt-get install python3-setuptools python3-pyqt5 python3-pyqt4
python3 -m pip install matplotlib
- name: create testqt5.py
run: |
cat <<EOF >testqt5.py
import matplotlib
matplotlib.use('Qt5Agg')
from PyQt5 import QtCore, QtWidgets
EOF
- name: Run python script
run: |
python3 testqt5.py
env:
PYTHONPATH: ":/usr/lib/python3/dist-packages"
- name: create testqt4.py
run: |
cat <<EOF >testqt4.py
import matplotlib
matplotlib.use('Qt4Agg')
from PyQt4 import QtCore, QtGui
EOF
- name: Run python script
run: |
python3 testqt4.py
env:
PYTHONPATH: ":/usr/lib/python3/dist-packages"
但是,它沒有使用matrix.python-version
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
如何設定支持matplotlib.use('Qt5Agg')使用的 GitHub 操作matrix.python-version?
import matplotlib
matplotlib.use('Qt5Agg')
如果解決方案也支持 Windows 和 MAC,那就更好了matrix.os
這是我的嘗試和錯誤訊息:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install pyqt5
run: |
sudo apt-get install python3-pyqt5
- name: Test
run: |
pip install pytest pytest-cov
pytest
env:
PYTHONPATH: ":/usr/lib/python3/dist-packages"
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.6.15/x64/bin/pip", line 7, in <module>
from pip._internal.cli.main import main
File "/usr/lib/python3/dist-packages/pip/_internal/cli/main.py", line 10, in <module>
from pip._internal.cli.autocompletion import autocomplete
File "/usr/lib/python3/dist-packages/pip/_internal/cli/autocompletion.py", line 9, in <module>
from pip._internal.cli.main_parser import create_main_parser
File "/usr/lib/python3/dist-packages/pip/_internal/cli/main_parser.py", line 7, in <module>
from pip._internal.cli import cmdoptions
File "/usr/lib/python3/dist-packages/pip/_internal/cli/cmdoptions.py", line 25, in <module>
from pip._internal.locations import USER_CACHE_DIR, get_src_prefix
File "/usr/lib/python3/dist-packages/pip/_internal/locations.py", line 19, in <module>
from pip._internal.utils import appdirs
File "/usr/lib/python3/dist-packages/pip/_internal/utils/appdirs.py", line 13, in <module>
from pip._vendor import appdirs as _appdirs
ImportError: cannot import name 'appdirs'
沒有任何矩陣的作業示例:
name: CI
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Clone this repository
uses: actions/checkout@v3
- name: Install pyqt4 pyqt5
run: |
sudo apt-get install python3-setuptools python3-pyqt5
python3 -m pip install matplotlib
- name: Run python script
run: |
python3 test_matplotlib_pyqt5.py
在我的GitHub 上查看我嘗試實作此功能的進度
編輯
通過避免解決:
- 蟒蛇路徑
- 蟒蛇<=3.6
- PyQt4
uj5u.com熱心網友回復:
似乎問題是使用PYTHONPATH,Python<=3.6和PyQt4.
因此,構建的最小作業示例是:
name: CI-python-matrix
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10"]
steps:
- name: Clone this repository
uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install pyqt5
run: |
sudo apt-get update
sudo apt-get install python3-setuptools python3-pyqt5
python3 -m pip install matplotlib PyQt5
- name: Run python script
run: |
python3 test_matplotlib_pyqt5.py
在我的 GitHub 存盤庫提交歷史中查看我解決此問題的程序
編輯
有趣的是,如果只使用 Python>=3.7,我們可以跳過 sudo 操作,單獨依賴 pip。
name: CI-python-os-matrix
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10"]
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- name: Clone this repository
uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install with cache
run: |
pip install -r requirements.txt
- name: Run python script
run: |
python3 test_matplotlib_pyqt5.py
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/493505.html
標籤:Python matplotlib github pyqt5 github-动作
上一篇:Github中的默認分支或標簽
