๐ Unit 2 โ Instalasi Python, venv & btcli
Di akhir unit ini kamu akan:
- Punya Python 3.10+ terinstall dan verified
- Punya virtual environment
~/bittensor-env-v10yang terisolasi btcli(bittensor-cli) dan Bittensor SDK (bittensor10.x) terinstall di venv- Bisa menjalankan
btcli --helptanpa error
- โ Unit 1 selesai โ WSL2 aktif (Windows) atau terminal siap
- โ Koneksi internet untuk download packages
Panduan ini sudah diperbarui untuk Bittensor SDK 10.x. Kalau kemarin kamu mengikuti versi lama dan venv-nya rusak (ImportError, ScaleObj, dll), jangan pakai venv lama itu lagi. Kita sengaja memakai nama venv baru di bawah ini โ ~/bittensor-env-v10 โ supaya kamu mulai dari nol yang bersih.
Opsional, bersihkan sisa instalasi lama yang rusak:
# Hapus venv lama yang rusak
rm -rf ~/bittensor-env
# Hapus juga baris 'alias btenv=...' lama dari ~/.bashrc (kalau ada),
# supaya tidak bentrok dengan alias baru btenv10
๐ Step 1 โ Install Python 3.10+โ
- ๐ช Windows (WSL2)
- ๐ macOS
- ๐ง Linux
Buka terminal Ubuntu (bukan PowerShell/CMD).
Ubuntu 22.04 sudah include Python 3.10 secara default. Verifikasi:
python3 --version
# Output: Python 3.10.12 (atau lebih baru)
Jika Python belum ada atau versinya lama:
# Tambah PPA deadsnakes (kalau Ubuntu 20.04)
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install -y python3.10 python3.10-venv python3.10-distutils
# Install pip untuk Python 3.10
curl -sS https://bootstrap.pypa.io/get-pip.py | python3.10
Install build dependencies:
sudo apt install -y build-essential git curl wget libssl-dev pkg-config python3-pip
macOS bawaan punya Python 3.x tapi versi bisa berbeda. Install versi spesifik via Homebrew:
brew install python@3.10
Tambah ke PATH:
# Apple Silicon (M1/M2/M3)
echo 'export PATH="/opt/homebrew/opt/python@3.10/bin:$PATH"' >> ~/.zprofile
source ~/.zprofile
# Intel Mac
echo 'export PATH="/usr/local/opt/python@3.10/bin:$PATH"' >> ~/.zprofile
source ~/.zprofile
Verifikasi:
python3.10 --version
# Output: Python 3.10.x
Ubuntu 22.04 (sudah ada Python 3.10):
python3 --version
sudo apt install -y python3-pip python3-venv build-essential git curl
Ubuntu 20.04 (perlu update):
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install -y python3.10 python3.10-venv python3.10-distutils
Fedora:
sudo dnf install python3.10 python3-pip git curl
๐ฆ Step 2 โ Buat Virtual Environmentโ
Virtual environment (venv) = sandbox terisolasi untuk dependencies Python. Penting supaya btcli tidak konflik dengan package sistem.
- ๐ช Windows (WSL2)
- ๐ macOS
- ๐ง Linux
# Buat venv di home directory
python3 -m venv ~/bittensor-env-v10
# Aktifkan venv
source ~/bittensor-env-v10/bin/activate
# Prompt kamu akan berubah jadi:
# (bittensor-env-v10) ubuntu@hostname:~$
Tambah alias supaya tidak perlu ketik panjang tiap kali:
echo 'alias btenv10="source ~/bittensor-env-v10/bin/activate"' >> ~/.bashrc
source ~/.bashrc
Sekarang cukup ketik btenv10 untuk aktifkan venv.
# Buat venv
python3.10 -m venv ~/bittensor-env-v10
# Aktifkan venv
source ~/bittensor-env-v10/bin/activate
# Prompt kamu berubah jadi:
# (bittensor-env-v10) username@hostname ~ %
Tambah alias:
echo 'alias btenv10="source ~/bittensor-env-v10/bin/activate"' >> ~/.zprofile
source ~/.zprofile
# Buat venv
python3 -m venv ~/bittensor-env-v10
# Aktifkan
source ~/bittensor-env-v10/bin/activate
# Alias untuk kemudahan
echo 'alias btenv10="source ~/bittensor-env-v10/bin/activate"' >> ~/.bashrc
source ~/.bashrc
Setiap kali buka terminal baru, kamu harus aktifkan venv lagi: source ~/bittensor-env-v10/bin/activate (atau btenv10 kalau sudah setup alias). Kalau lupa, btcli tidak akan ditemukan.
๐ง Step 3 โ Install btcli & Bittensor SDKโ
Pastikan venv aktif (ada (bittensor-env-v10) di prompt) sebelum lanjut.
# Upgrade pip dulu
pip install --upgrade pip
# Install Bittensor CLI (btcli) + Bittensor SDK (versi terbaru, 10.x)
pip install bittensor-cli bittensor
bittensor<10.0.0 lagi!Versi lama panduan ini menyuruh pip install "bittensor<10.0.0". Sekarang itu justru bikin error. Per 2026, btcli (bittensor-cli 9.x) butuh async-substrate-interface versi 2.x, sedangkan SDK bittensor 9.x butuh API 1.x โ jadi keduanya bentrok di satu venv dan muncul:
ImportError: cannot import name 'ScaleObj' from 'async_substrate_interface.types'
Solusinya: install bittensor 10.x (tanpa pin sama sekali). SDK 10.x dan btcli 9.x kompatibel karena sama-sama memakai async-substrate 2.x โ pip check bersih, tanpa konflik.
btcli (bittensor-cli, ~9.22.x) dan SDK (bittensor, ~10.4.x) sekarang ada di major version yang berbeda. Itu disengaja โ keduanya sudah jadi package terpisah. Jangan kaget kalau nomornya tidak sama.
โ Step 4 โ Verifikasi Instalasiโ
# Verifikasi btcli
btcli --help
# Harus muncul help text dengan daftar commands
# Verifikasi btcli version
btcli --version
# Output: BTCLI version: 9.22.3 (atau lebih baru)
# Verifikasi SDK
python -c "import bittensor; print('bittensor version:', bittensor.__version__)"
# Output: bittensor version: 10.4.1 (harus >= 10)
Output btcli --help yang normal:
Usage: btcli [OPTIONS] COMMAND [ARGS]...
Command line interface (CLI) for Bittensor.
โญโ Commands โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ config Config commands, aliases: `c`, `conf` โ
โ wallet Wallet commands, aliases: `wallets`, `w` โ
โ stake Stake commands, alias: `st` โ
โ subnets Subnets commands, alias: `s`, `subnet` โ
โ sudo Sudo commands, alias: `su` โ
โ ... โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
btcli v9 memakai tampilan tabel (rich/typer), bukan argparse gaya lama. Perhatikan subnets punya alias subnet dan s โ keduanya bisa dipakai.
btcli: command not foundvenv belum aktif. Jalankan:
source ~/bittensor-env-v10/bin/activate
Lalu coba lagi.
๐ Step 4b โ Fix SSL (Jika Ada Error)โ
Beberapa setup mengalami error SSL saat btcli coba konek ke chain. Kalau ada error SSL: CERTIFICATE_VERIFY_FAILED:
python -m bittensor certifi
๐ Troubleshooting Instalasiโ
| Error | Penyebab | Solusi |
|---|---|---|
error: Microsoft Visual C++ 14.0 required | Kamu di Windows tanpa WSL2 | Pindah ke terminal Ubuntu WSL2 |
failed building wheel for cryptography | Dev headers kurang | sudo apt install libssl-dev libffi-dev python3-dev |
pip: command not found | pip tidak ada di PATH venv | python3 -m ensurepip --upgrade |
btcli: command not found | venv tidak aktif | source ~/bittensor-env-v10/bin/activate |
ModuleNotFoundError: 'bittensor' | SDK belum install atau venv salah | Pastikan venv aktif, lalu pip install bittensor |
ERROR: Could not find a version that satisfies the requirement bittensor | Network issue / pypi timeout | pip install bittensor --retries 5 |
ImportError: cannot import name 'ScaleObj' from 'async_substrate_interface...' | SDK bittensor 9.x terpasang bareng btcli โ bentrok async-substrate | pip install -U bittensor (pakai 10.x, jangan pin <10) |
๐ Quick Reference โ Perintah Harianโ
# Aktifkan venv (wajib tiap session baru)
source ~/bittensor-env-v10/bin/activate # atau: btenv10
# Deaktifkan venv
deactivate
# Cek package terinstall
pip list | grep -E "bittensor|btcli"
# Update btcli saja (tanpa upgrade SDK)
pip install --upgrade bittensor-cli
๐ฏ Rangkumanโ
- Python 3.10+ adalah syarat minimum โ Ubuntu 22.04 sudah include
- venv terisolasi di
~/bittensor-env-v10โ aktifkan setiap sesi baru - Install
bittensor-cli(btcli) danbittensor(SDK 10.x) โ jangan pin<10 - Alias
btenv10memudahkan aktivasi
Next: Unit 3 โ Wallet Setup (Coldkey & Hotkey) โ
Environment yang bersih = debugging yang mudah. ๐งช