Skip to content

Commit

Permalink
Fix Python build check script. (#911)
Browse files Browse the repository at this point in the history
* Fix Python build check script.

* Update python code check workflow

* Update python test script.

* Compatible with Python >=3.9

* Compatible with Python >=3.10

* Fix errors in Windows

* test

* Add Python version in installation.md

* Update test_all.py
  • Loading branch information
krahets authored Nov 2, 2023
1 parent 459697a commit 23cce00
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 24 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.8", "3.10"]
python-version: ["3.10", "3.11"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
Expand All @@ -36,6 +36,6 @@ jobs:
- name: Lint with black
run: |
black codes/python
- name: Build with py_compile
- name: Test python code
run: |
python codes/python/build.py
python codes/python/test_all.py
20 changes: 0 additions & 20 deletions codes/python/build.py

This file was deleted.

32 changes: 32 additions & 0 deletions codes/python/test_all.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import os
import glob
import subprocess

env = os.environ.copy()
env["PYTHONIOENCODING"] = "utf-8"

if __name__ == "__main__":
# find source code files
src_paths = sorted(glob.glob("codes/python/chapter_*/*.py"))
errors = []

# run python code
for src_path in src_paths:
process = subprocess.Popen(
["python", src_path],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True,
env=env,
)
# Wait for the process to complete, and get the output and error messages
stdout, stderr = process.communicate()
# Check the exit status
exit_status = process.returncode
if exit_status != 0:
errors.append(stderr)

print(f"Tested {len(src_paths)} files")
print(f"Found exception in {len(errors)} files")
if len(errors) > 0:
raise RuntimeError("\n\n".join(errors))
2 changes: 1 addition & 1 deletion docs/chapter_appendix/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

### Python 环境

1. 下载并安装 [Miniconda3](https://docs.conda.io/en/latest/miniconda.html)
1. 下载并安装 [Miniconda3](https://docs.conda.io/en/latest/miniconda.html) ,需要 Python 3.10 或更新版本
2. 在 VSCode 的插件市场中搜索 `python` ,安装 Python Extension Pack 。
3. (可选)在命令行输入 `pip install black` ,安装代码格式化工具。

Expand Down

0 comments on commit 23cce00

Please sign in to comment.