๐ Unit 2 โ Instalasi Python, venv & btcli
Di akhir unit ini kamu akan:
- Punya Python 3.10+ terinstall dan verified
- Punya virtual environment
~/bittensor-envyang terisolasi btclidan Bittensor SDK (bittensor<10.0.0) terinstall di venv- Bisa menjalankan
btcli --helptanpa error
- โ Unit 1 selesai โ WSL2 aktif (Windows) atau terminal siap
- โ Koneksi internet untuk download packages
๐ 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
# Aktifkan venv
source ~/bittensor-env/bin/activate
# Prompt kamu akan berubah jadi:
# (bittensor-env) ubuntu@hostname:~$
Tambah alias supaya tidak perlu ketik panjang tiap kali:
echo 'alias btenv="source ~/bittensor-env/bin/activate"' >> ~/.bashrc
source ~/.bashrc
Sekarang cukup ketik btenv untuk aktifkan venv.
# Buat venv
python3.10 -m venv ~/bittensor-env
# Aktifkan venv
source ~/bittensor-env/bin/activate
# Prompt kamu berubah jadi:
# (bittensor-env) username@hostname ~ %
Tambah alias:
echo 'alias btenv="source ~/bittensor-env/bin/activate"' >> ~/.zprofile
source ~/.zprofile
# Buat venv
python3 -m venv ~/bittensor-env
# Aktifkan
source ~/bittensor-env/bin/activate
# Alias untuk kemudahan
echo 'alias btenv="source ~/bittensor-env/bin/activate"' >> ~/.bashrc
source ~/.bashrc
Setiap kali buka terminal baru, kamu harus aktifkan venv lagi: source ~/bittensor-env/bin/activate (atau btenv kalau sudah setup alias). Kalau lupa, btcli tidak akan ditemukan.
๐ง Step 3 โ Install btcli & Bittensor SDKโ
Pastikan venv aktif (ada (bittensor-env) di prompt) sebelum lanjut.
# Upgrade pip dulu
pip install --upgrade pip
# Install Bittensor CLI (command line tool)
pip install bittensor-cli
# Install Bittensor SDK โ PENTING: pin ke versi < 10.0.0
# Banyak subnet template belum kompatibel dengan SDK v10+
pip install "bittensor<10.0.0"
bittensor<10.0.0?SDK Bittensor versi 10.0.0 memperkenalkan breaking changes pada API internal. Sebagian besar subnet template publik (termasuk opentensor/bittensor-subnet-template) masih menggunakan struktur SDK lama. Kalau kamu install versi terbaru, bisa muncul error ImportError atau AttributeError saat jalankan miner.
Kalau nanti subnet spesifik yang kamu pakai sudah support SDK v10+, kamu bisa upgrade.
โ Step 4 โ Verifikasi Instalasiโ
# Verifikasi btcli
btcli --help
# Harus muncul help text dengan daftar commands
# Verifikasi btcli version
btcli --version
# Output: btcli/x.x.x ...
# Verifikasi SDK
python -c "import bittensor; print('bittensor version:', bittensor.__version__)"
# Output: bittensor version: 7.x.x atau 8.x.x (harus < 10)
Output btcli --help yang normal:
usage: btcli <command> <command args>
bittensor cli v8.x.x
positional arguments:
{wallet,subnets,stake,root,info,...}
wallet Commands for managing and viewing wallets.
subnets Commands for interacting with subnets.
...
btcli: command not foundvenv belum aktif. Jalankan:
source ~/bittensor-env/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/bin/activate |
ModuleNotFoundError: 'bittensor' | SDK belum install atau venv salah | Pastikan venv aktif, lalu pip install "bittensor<10.0.0" |
ERROR: Could not find a version that satisfies the requirement bittensor | Network issue / pypi timeout | pip install "bittensor<10.0.0" --retries 5 |
ImportError: cannot import name 'X' from 'bittensor' | SDK v10+ incompatible | pip uninstall bittensor && pip install "bittensor<10.0.0" |
๐ Quick Reference โ Perintah Harianโ
# Aktifkan venv (wajib tiap session baru)
source ~/bittensor-env/bin/activate # atau: btenv
# 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โ aktifkan setiap sesi baru - Install
bittensor-cli(btcli) danbittensor<10.0.0(SDK) terpisah - Alias
btenvmemudahkan aktivasi
Next: Unit 3 โ Wallet Setup (Coldkey & Hotkey) โ
Environment yang bersih = debugging yang mudah. ๐งช