Jalankan semua blok PowerShell ini dari folder proyek:
C:\Users\ASUS\Desktop\python-project\social-media-sentiment-analysis
Saya telah menggabungkan pengecekan, perbaikan, pemasangan paket yang hilang, dan langkah untuk membuat beberapa pengaturan menjadi permanen (User-level).
Jalankan blok per blok (satu kali paste per blok). Jika sebuah blok mengeluarkan error, salin seluruh output error dan tempel di chat — saya bantu koreksi langkah spesifiknya.
- Buka PowerShell biasa (Run as Administrator hanya bila saya tandai).
- Jangan paste semuanya sekaligus — jalankan blok 1 → 2 → 3 … dst.
- Banyak perintah mengasumsikan venv berada di root proyek (
.\venv). Jika struktur berbeda, sesuaikan path. - Instalasi paket via pip di venv bersifat "permanen" untuk venv (tetap terpasang sampai venv dihapus). Mengatur SSL_CERT_FILE dengan
[Environment]::SetEnvironmentVariable(...,'User')membuatnya permanen untuk user.
C:\Users\ASUS\Desktop\python-project\social-media-sentiment-analysis
Petunjuk: buka PowerShell (bukan Administrator kecuali dicatat), pindah ke path di atas, lalu jalankan tiap blok perintah di bawah secara berurutan. Jalankan satu blok, pastikan tidak error, lalu lanjut ke blok berikutnya.
Get-Location
Get-ChildItem -Name
# verifikasi file/folder penting
Test-Path .\venv
Test-Path .\src\main.py
Test-Path .\README.mdGet-ChildItem -Directory | Select-Object Name
# jika ada nested dengan nama project, pindah ke parent yang benar:
# Set-Location 'C:\Users\ASUS\Desktop\python-project\social-media-sentiment-analysis'Write-Host "Session PATH exists?"; if ($env:PATH) { "Yes" } else { "No or empty" }
Get-Command where.exe -ErrorAction SilentlyContinue
Get-Command python -ErrorAction SilentlyContinue
# jika where.exe/python tidak ditemukan, jalankan (session-only):
$machine = [Environment]::GetEnvironmentVariable('Path','Machine')
$user = [Environment]::GetEnvironmentVariable('Path','User')
$env:PATH = if ($user) { $machine + ';' + $user } else { $machine }
if (-not ($env:PATH -match 'Windows\\System32')) { $env:PATH += ';C:\Windows\System32' }
# verifikasi lagi
Get-Command where.exe -ErrorAction SilentlyContinue
Get-Command python -ErrorAction SilentlyContinueRemove-Variable PY -ErrorAction SilentlyContinue
$cmd = Get-Command python -ErrorAction SilentlyContinue
if ($cmd) { $PY = $cmd.Source } else {
$candidates = @(
"$env:LOCALAPPDATA\Programs\Python\Python314\python.exe",
"$env:LOCALAPPDATA\Programs\Python\Python312\python.exe",
"C:\Python314\python.exe",
"C:\Python312\python.exe"
)
foreach ($p in $candidates) { if (-not $PY -and (Test-Path $p)) { $PY = $p } }
}
if (-not $PY) { Write-Error "Python tidak ditemukan. Install Python atau beri path penuh ke python.exe"; throw }
Write-Host "Using Python: $PY"
& $PY --versionTest-Path .\venv\Scripts\python.exe
Get-ChildItem .\venv\Scripts\* -ErrorAction SilentlyContinue | Select-Object Name
# Jika venv tidak ada / rusak:
if (-not (Test-Path .\venv\Scripts\python.exe)) {
if (Test-Path .\venv) { Remove-Item -Recurse -Force .\venv }
& $PY -m venv .\venv
}
Test-Path .\venv\Scripts\python.exeGet-ExecutionPolicy -List
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force(You may be prompted; answer Y.)
. .\venv\Scripts\Activate.ps1
# verifikasi
python --version
python -c "import sys; print('sys.executable=', sys.executable)"
python -m pip --version
# jika Activate.ps1 tidak ditemukan, gunakan:
# .\venv\Scripts\python.exe --version# Install seluruh module penting ke venv (pastikan venv aktif!)
python -m pip install --upgrade pip setuptools wheel
python -m pip install --upgrade certifi `
pandas numpy scipy scikit-learn matplotlib seaborn `
nltk `
ipywidgets notebook qtconsole widgetsnbextension `
jupyter jupyterlab ipykernel `
openpyxl xlrd xlsxwriter `
plotly `
requests beautifulsoup4 lxml `
joblib tqdm
# pyarrow (hanya untuk Python <=3.12, tidak support Python 3.14)
# python -m pip install --upgrade pyarrow
# Enable widgets extension for classic notebook
jupyter nbextension enable --py widgetsnbextension --sys-prefix
# Download resource NLTK 'vader_lexicon' agar SentimentIntensityAnalyzer siap pakai
python -c "import nltk; nltk.download('vader_lexicon', quiet=True)"
# Freeze requirements agar environment tercatat
python -m pip freeze > requirements.txtCatatan:
Jika kamu memakai Python 3.14, jangan install pyarrow (belum tersedia wheel, akan gagal build seperti error sebelumnya).
Jika butuh pyarrow, gunakan Python 3.11 atau 3.12 untuk venv, lalu install pyarrow.
# dapatkan path CA bundle certifi dan set untuk session
$cert = & python -c "import certifi; print(certifi.where())"
$env:SSL_CERT_FILE = $cert
Write-Host "Using SSL_CERT_FILE (session) = $env:SSL_CERT_FILE"
# set permanen untuk User agar berlaku di shell baru / Jupyter server baru
[Environment]::SetEnvironmentVariable('SSL_CERT_FILE',$cert,'User')
Write-Host "SSL_CERT_FILE set permanently for User to: $cert"
# cek env var terkait
Get-ChildItem Env: | Where-Object Name -match 'CERT|SSL|REQUESTS|CURL|COMPOSER|PHP' | Format-Table Name,Value -AutoSizeJika kamu tidak ingin membuatnya permanen, hapus baris SetEnvironmentVariable dan cukup gunakan session setting.
# verify launcher executables in venv
Get-ChildItem .\venv\Scripts\*jupyter* -Force | Select-Object Name,FullName
# if any corrupted wrapper caused 'Unable to create process' earlier, remove and reinstall to rewrite them
Remove-Item .\venv\Scripts\jupyter.exe -Force -ErrorAction SilentlyContinue
Remove-Item .\venv\Scripts\jupyter-lab.exe -Force -ErrorAction SilentlyContinue
Remove-Item .\venv\Scripts\jupyter-notebook.exe -Force -ErrorAction SilentlyContinue
python -m pip install --upgrade --force-reinstall jupyter jupyterlab ipykernelpython -m ipykernel install --user --name "social_media_sentiment" --display-name "Python (social-media-sentiment)"
jupyter kernelspec listKernel ini akan muncul di Jupyter UI untuk user kamu sampai kamu uninstall kernelspec.
# hentikan server lama jika ada (Ctrl+C), lalu jalankan:
python -m jupyter lab
# jika perlu debug verbose:
# python -m jupyter lab --debugYang diharapkan: JupyterLab berjalan tanpa FileNotFoundError terkait SSL_CERT_FILE dan tanpa stacktrace untuk pypi extension manager. Buka URL yang diprint di terminal (http://localhost:8888/lab?...).
Get-ChildItem Env: | Where-Object Name -match 'CERT|SSL|REQUESTS|CURL|COMPOSER|PHP' | Format-Table Name,Value -AutoSize
jupyter --version
python -m jupyter lab --version
(Get-Command jupyter -ErrorAction SilentlyContinue).Source
python -m jupyter lab --debugJika JupyterLab sudah terbuka dan UI Launcher muncul, lakukan pemeriksaan berikut untuk memastikan setup sudah benar dan kernel venv aktif:
python --version
jupyter --version
jupyter kernelspec listpython -c "import ipywidgets, notebook, qtconsole; print('ipywidgets', getattr(ipywidgets,'__version__','n/a')); print('notebook', getattr(notebook,'__version__','n/a')); print('qtconsole', getattr(qtconsole,'__version__','n/a'))"import pandas as pd
import nltk
from nltk.sentiment.vader import SentimentIntensityAnalyzer
print('pandas', pd.__version__)
nltk.download('vader_lexicon', quiet=True)
sid = SentimentIntensityAnalyzer()
print(sid.polarity_scores("I love this product"))Jika cell di atas mengembalikan skor tanpa error, kernel sudah berjalan end‑to‑end.
python -m pip install --upgrade pandas numpy scipy scikit-learn matplotlib seaborn nltk ipywidgets notebook qtconsole widgetsnbextension jupyter jupyterlab ipykernel openpyxl xlrd xlsxwriter plotly requests beautifulsoup4 lxml joblib tqdm
jupyter nbextension enable --py widgetsnbextension --sys-prefix
python -m pip freeze > requirements.txtCatatan:
Jangan install pyarrow jika venv kamu Python 3.14 (belum tersedia wheel). Jika perlu, ganti ke Python 3.12 dan ulangi install pyarrow.
# cek session
$env:SSL_CERT_FILE
# cek user env (permanen)
[Environment]::GetEnvironmentVariable('SSL_CERT_FILE','User')
# cek file ada
Test-Path (python -c "import certifi; print(certifi.where())")Jika SSL_CERT_FILE menunjuk file yang tidak ada, set ke certifi atau hapus var User sebagaimana didiskusikan di atas.
Jika semua pemeriksaan di atas OK, maka setupmu sudah lengkap dan "permanen" untuk proyek ini — paket terpasang di venv dan kernel terdaftar untuk user. Kirim hasil output dari langkah 1–3 (khususnya output import/test cell) dan saya konfirmasi semuanya bersih atau bantu betulkan bila ada error kecil.