Python Pyramid

Setup Environment

Persiapan lingkungan pengembangan dan membuat proyek Pyramid dengan Cookiecutter

Persiapan Lingkungan Pengembangan

Sebelum mulai membuat aplikasi dengan Pyramid, kita perlu menyiapkan lingkungan pengembangan yang sesuai.

Membuat Virtual Environment

Virtual environment membantu mengisolasi dependensi proyek dari instalasi Python global:

Membuat Virtual Environment
# Buat folder untuk proyek
mkdir pyramid_mahasiswa
cd pyramid_mahasiswa

# Buat virtual environment
python -m venv venv

# Aktifkan virtual environment
# Untuk Windows
venv\Scripts\activate
# Untuk macOS/Linux
source venv/bin/activate

Verifikasi Virtual Environment

Pastikan virtual environment telah aktif. Terminal Kalian seharusnya menampilkan prefix (venv) di awal baris prompt.

Terminal dengan Virtual Environment Aktif
(venv) $

Instalasi Pyramid dan Dependensi

Setelah virtual environment aktif, install Pyramid dan dependensi yang diperlukan:

Instalasi Pyramid dan Dependensi
# Upgrade pip
pip install --upgrade pip setuptools

# Install cookiecutter untuk template proyek
pip install cookiecutter

# Install pyramid dan dependensi dasar
pip install pyramid pyramid_debugtoolbar waitress pyramid_jinja2

Troubleshooting Virtual Environment

Jika Kalian mengalami masalah dengan virtual environment:

  • Di Windows: Pastikan kebijakan eksekusi script PowerShell mengizinkan aktivasi dengan menjalankan Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  • Di macOS/Linux: Pastikan venv/bin/activate memiliki izin eksekusi dengan chmod +x venv/bin/activate
  • Jika perintah python tidak ditemukan, coba gunakan python3 sebagai gantinya

Membuat Proyek Pyramid dengan Cookiecutter

Cookiecutter adalah tool yang membantu membuat struktur proyek berdasarkan template. Pyramid menyediakan template resmi untuk memulai proyek dengan cepat.

Menjalankan Cookiecutter

Jalankan cookiecutter dengan template Pyramid resmi:

Menggunakan Cookiecutter untuk Membuat Proyek Pyramid
# Pastikan virtual environment aktif
# Jalankan cookiecutter dengan template Pyramid
cookiecutter gh:Pylons/pyramid-cookiecutter-alchemy

Cookiecutter akan meminta beberapa input, isi seperti berikut:

Input untuk Cookiecutter
project_name [Pyramid Scaffold]: pyramid_mahasiswa
repo_name [pyramid_mahasiswa]:
Select template_language:
1 - jinja2
2 - chameleon
3 - mako
Choose from 1, 2, 3 [1]: 1

Template Language

Kita memilih Jinja2 sebagai template engine karena sintaksnya yang familiar dan banyak digunakan di berbagai framework Python seperti Flask dan Django.

Instalasi Dependensi Proyek

Setelah template dibuat, pindah ke direktori proyek dan install dependensi:

Masuk ke Proyek dan Install Dependensi
# Masuk ke direktori proyek
cd pyramid_mahasiswa

# Install dependensi proyek (development mode)
pip install -e ".[testing]"

Development Mode

Flag -e menginstall package dalam editable mode, yang berarti perubahan kode langsung tercermin tanpa perlu reinstall package.

Struktur Direktori Proyek

Setelah setup selesai, struktur direktori proyek akan terlihat seperti ini:

.coveragerc
.gitignore
CHANGES.txt
MANIFEST.in
README.txt
development.ini
production.ini
pytest.ini
setup.py
__init__.py
__init__.py
meta.py
mymodel.py
routes.py
__init__.py
default.py
notfound.py

Penjelasan Struktur Proyek

File Konfigurasi Utama

FileDeskripsi
development.iniKonfigurasi untuk mode development
production.iniKonfigurasi untuk mode production
setup.pyFile setup untuk package Python

Direktori Penting

DirektoriDeskripsi
alembic/Folder untuk migrasi database
models/Folder untuk model database (SQLAlchemy)
views/Folder untuk view functions
templates/Folder untuk template Jinja2
static/Folder untuk file statis (CSS, JS, images)
scripts/Folder untuk utility scripts

Tentang Struktur Pyramid

Struktur direktori Pyramid mengikuti konvensi Python package. Folder utama pyramid_mahasiswa/pyramid_mahasiswa adalah package Python yang berisi kode aplikasi. File development.ini dan production.ini berisi konfigurasi untuk mode development dan production.

Verifikasi Setup

Untuk memverifikasi bahwa setup berhasil, coba jalankan aplikasi:

Menjalankan Aplikasi
# Pastikan berada di direktori root proyek
# dan virtual environment aktif
pserve development.ini

Jika berhasil, Kalian akan melihat output seperti ini:

Output Server
Starting server in PID 12345.
Serving on http://localhost:6543

Buka browser dan akses http://localhost:6543. Kalian seharusnya melihat halaman default Pyramid.

Troubleshooting Instalasi

Jika menemui masalah saat instalasi dependensi:

  • Pastikan Python development headers terinstal (python-dev/python-devel)
  • Di Windows, mungkin perlu Visual C++ Build Tools
  • Jika ada package yang gagal diinstal, coba install satu persatu
  • Periksa versi Python dengan python --version, pastikan minimal 3.7

Langkah Selanjutnya

Setelah environment setup selesai dan proyek Pyramid berhasil dibuat, kita akan melanjutkan ke konfigurasi database PostgreSQL dan membuat model data pada bagian selanjutnya.