mise+uvを前提にPythonの仮想環境を作成するスクリプト
以前にPython で venv & direnv を設定するスクリプトというメモを書きました。このスクリプトに関して以下の点を修正しました。
mise use 〜部分が意図した通りに動作していなかったものを修正
- Pythonのバージョンを指定できるように修正(デフォルトは3.13.9)
taskfileの内容は好みで修正します。
検証環境
| 対象 |
バージョン |
| mise |
2025.11.11 linux-x64 (2025-11-30) |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94 | #!/usr/bin/env bash
PYVER=3.13.9
while getopts p-: opt; do
optarg="${!OPTIND}"
[[ "$opt" = - ]] && opt="-$OPTARG"
case "-$opt" in
-p|--python)
PYVER=$optarg
;;
--)
break
;;
-\?)
exit 1
;;
--*)
echo "$0: illegal option -- ${opt##-}" >&2
exit 1
;;
esac
done
# Python
mise use python@${PYVER}
mise exec python@${PYVER} -- uv venv .venv
cat << EOL >> mise.toml
[env]
_.python.venv = ".venv"
EOL
cat << EOL >> taskfile.yml
version: '3'
tasks:
default:
cmds:
- task --list
build:
aliases: [b]
desc: Build
cmds:
- pyinstaller build.spec
format:
aliases: [f]
desc: Format the source code
cmds:
- ruff format .
- ruff check . --fix
lint:
aliases: [l]
desc: Static analysis
cmds:
- ruff check .
- mypy .
mbuild:
aliases: [mb]
desc: MkDocs Build
cmds:
- mkdocs build --clean
mserve:
aliases: [ms]
desc: MkDocs Serve
cmds:
- mkdocs serve
test:
aliases: [t]
desc: Test
cmds:
- pytest .
zbuild:
aliases: [zb]
desc: Zensical Build
cmds:
- zensical build --clean
zserve:
aliases: [zs]
desc: Zensical Serve
cmds:
- zensical build --clean
- zensical serve
EOL
|