Difference between revisions of "PM: Install Virtual Environment"
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
| Line 216: | Line 216: | ||
deactivate | deactivate | ||
| − | == 12. Kalau ada error Graphviz | + | == 12. Kalau ada error Graphviz== |
Cek: | Cek: | ||
Latest revision as of 16:38, 28 June 2026
Berikut langkah lengkap membuat virtualenv PM4Py di `~/Apps/PM4Py` untuk *process mining*. PM4Py resmi bisa di-install dengan `pip install -U pm4py`, dan saat ini mendukung Python 3.9–3.14. ([PyPI][1])
1. Install dependency sistem
sudo apt update sudo apt install -y python3 python3-venv python3-pip graphviz
Keterangan singkat:
python3-venv
dibutuhkan untuk membuat virtual environment.
graphviz
dibutuhkan agar visualisasi proses seperti Petri net, BPMN, dan *process tree* bisa digambar dengan baik.
2. Buat folder kerja
mkdir -p ~/Apps/PM4Py cd ~/Apps/PM4Py
3. Buat virtualenv
python3 -m venv venv
Aktifkan:
source venv/bin/activate
Kalau berhasil, prompt terminal biasanya berubah menjadi seperti:
(venv) onno@i3:~/Apps/PM4Py$
4. Upgrade pip dan tools dasar
python -m pip install --upgrade pip setuptools wheel
5. Install PM4Py + library pendukung
pip install -U \ pm4py \ pandas \ numpy \ matplotlib \ seaborn \ scikit-learn \ scipy \ networkx \ graphviz \ pyvis \ jupyterlab \ notebook \ ipykernel \ openpyxl \ xlsxwriter
Library utama:
| Library | Fungsi | | | | | `pm4py` | library utama *process mining* | | `pandas`, `numpy` | olah data event log | | `matplotlib`, `seaborn` | visualisasi data | | `scikit-learn` | clustering, klasifikasi, anomaly detection | | `networkx`, `graphviz` | graph/process visualization | | `jupyterlab`, `notebook` | kerja lewat Jupyter | | `openpyxl`, `xlsxwriter` | baca/tulis Excel |
6. Daftarkan kernel Jupyter
python -m ipykernel install --user --name pm4py --display-name "Python PM4Py"
Nanti di Jupyter pilih kernel:
Python PM4Py
7. Buat file requirements.txt
cat > requirements.txt << 'EOF' pm4py pandas numpy matplotlib seaborn scikit-learn scipy networkx graphviz pyvis jupyterlab notebook ipykernel openpyxl xlsxwriter EOF
Nanti kalau mau install ulang cukup:
pip install -r requirements.txt
8. Test instalasi PM4Py
Buat file test:
nano test_pm4py.py
Isi:
import pm4py
import pandas as pd
print("PM4Py version:", pm4py.__version__)
data = [
{"case:concept:name": "1", "concept:name": "Register", "time:timestamp": "2026-01-01 08:00:00"},
{"case:concept:name": "1", "concept:name": "Check", "time:timestamp": "2026-01-01 09:00:00"},
{"case:concept:name": "1", "concept:name": "Approve", "time:timestamp": "2026-01-01 10:00:00"},
{"case:concept:name": "2", "concept:name": "Register", "time:timestamp": "2026-01-02 08:00:00"},
{"case:concept:name": "2", "concept:name": "Check", "time:timestamp": "2026-01-02 09:00:00"},
{"case:concept:name": "2", "concept:name": "Reject", "time:timestamp": "2026-01-02 10:00:00"},
]
df = pd.DataFrame(data)
df["time:timestamp"] = pd.to_datetime(df["time:timestamp"])
print(df)
# Discover Directly-Follows Graph
dfg, start_activities, end_activities = pm4py.discover_dfg(df)
print("\nDirectly-Follows Graph:")
print(dfg)
print("\nStart activities:")
print(start_activities)
print("\nEnd activities:")
print(end_activities)
Jalankan:
python test_pm4py.py
Kalau sukses, akan keluar versi PM4Py dan hasil *Directly-Follows Graph*.
9. Test lewat Jupyter Notebook
Jalankan:
jupyter lab
Lalu buat notebook baru dengan kernel:
Python PM4Py
Cell test:
import pm4py import pandas as pd pm4py.__version__
Cell berikutnya:
data = [
{"case:concept:name": "1", "concept:name": "A", "time:timestamp": "2026-01-01 08:00:00"},
{"case:concept:name": "1", "concept:name": "B", "time:timestamp": "2026-01-01 09:00:00"},
{"case:concept:name": "1", "concept:name": "C", "time:timestamp": "2026-01-01 10:00:00"},
{"case:concept:name": "2", "concept:name": "A", "time:timestamp": "2026-01-02 08:00:00"},
{"case:concept:name": "2", "concept:name": "B", "time:timestamp": "2026-01-02 09:00:00"},
{"case:concept:name": "2", "concept:name": "D", "time:timestamp": "2026-01-02 10:00:00"},
]
df = pd.DataFrame(data)
df["time:timestamp"] = pd.to_datetime(df["time:timestamp"])
df
Cell process mining:
dfg, start_activities, end_activities = pm4py.discover_dfg(df) dfg
10. Struktur folder yang disarankan
mkdir -p ~/Apps/PM4Py/{data,notebooks,scripts,output}
Struktur:
~/Apps/PM4Py/ ├── venv/ ├── data/ ├── notebooks/ ├── scripts/ ├── output/ ├── requirements.txt └── test_pm4py.py
11. Cara pakai harian
Setiap mau kerja:
cd ~/Apps/PM4Py source venv/bin/activate jupyter lab
Keluar dari virtualenv:
deactivate
12. Kalau ada error Graphviz
Cek:
dot -V
Kalau belum ada:
sudo apt install -y graphviz
Lalu install ulang Python package-nya:
pip install -U graphviz
13. Versi ringkas semua command
sudo apt update sudo apt install -y python3 python3-venv python3-pip graphviz mkdir -p ~/Apps/PM4Py cd ~/Apps/PM4Py python3 -m venv venv source venv/bin/activate python -m pip install --upgrade pip setuptools wheel pip install -U \ pm4py \ pandas \ numpy \ matplotlib \ seaborn \ scikit-learn \ scipy \ networkx \ graphviz \ pyvis \ jupyterlab \ notebook \ ipykernel \ openpyxl \ xlsxwriter python -m ipykernel install --user --name pm4py --display-name "Python PM4Py" mkdir -p data notebooks scripts output python -c "import pm4py; print(pm4py.__version__)" jupyter lab [1]: https://pypi.org/project/pm4py/?utm_source=chatgpt.com "pm4py"