You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/translations/bg/TROUBLESHOOTING.md

18 KiB

Ръководство за отстраняване на проблеми

Това ръководство предоставя решения на често срещани проблеми, които може да срещнете, докато работите с учебната програма "Наука за данни за начинаещи".

Съдържание

Проблеми с Python и Jupyter

Python не е намерен или е грешна версия

Проблем: python: command not found или грешна версия на Python

Решение:

# Check Python version
python --version
python3 --version

# If Python 3 is installed as 'python3', create an alias
# On macOS/Linux, add to ~/.bashrc or ~/.zshrc:
alias python=python3
alias pip=pip3

# Or use python3 explicitly
python3 -m pip install jupyter

Решение за Windows:

  1. Преинсталирайте Python от python.org
  2. По време на инсталацията, маркирайте "Add Python to PATH"
  3. Рестартирайте терминала/командния ред

Проблеми с активиране на виртуална среда

Проблем: Виртуалната среда не се активира

Решение:

Windows:

# If you get execution policy error
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

# Then activate
venv\Scripts\activate

macOS/Linux:

# Ensure the activate script is executable
chmod +x venv/bin/activate

# Then activate
source venv/bin/activate

Проверка на активацията:

# Your prompt should show (venv)
# Check Python location
which python  # Should point to venv

Проблеми с ядрото на Jupyter

Проблем: "Kernel not found" или "Kernel keeps dying"

Решение:

# Reinstall kernel
python -m ipykernel install --user --name=datascience --display-name="Python (Data Science)"

# Or use the default kernel
python -m ipykernel install --user

# Restart Jupyter
jupyter notebook

Проблем: Грешна версия на Python в Jupyter

Решение:

# Install Jupyter in your virtual environment
source venv/bin/activate  # Activate first
pip install jupyter ipykernel

# Register the kernel
python -m ipykernel install --user --name=venv --display-name="Python (venv)"

# In Jupyter, select Kernel -> Change kernel -> Python (venv)

Проблеми с пакети и зависимости

Грешки при импортиране

Проблем: ModuleNotFoundError: No module named 'pandas' (или други пакети)

Решение:

# Ensure virtual environment is activated
source venv/bin/activate  # macOS/Linux
venv\Scripts\activate     # Windows

# Install missing package
pip install pandas

# Install all common packages
pip install jupyter pandas numpy matplotlib seaborn scikit-learn

# Verify installation
python -c "import pandas; print(pandas.__version__)"

Неуспехи при инсталиране с pip

Проблем: pip install не успява с грешки за разрешения

Решение:

# Use --user flag
pip install --user package-name

# Or use virtual environment (recommended)
python -m venv venv
source venv/bin/activate
pip install package-name

Проблем: pip install не успява с грешки за SSL сертификати

Решение:

# Update pip first
python -m pip install --upgrade pip

# Try installing with trusted host (temporary workaround)
pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org package-name

Конфликти на версии на пакети

Проблем: Несъвместими версии на пакети

Решение:

# Create fresh virtual environment
python -m venv venv-new
source venv-new/bin/activate  # or venv-new\Scripts\activate on Windows

# Install packages with specific versions if needed
pip install pandas==1.3.0
pip install numpy==1.21.0

# Or let pip resolve dependencies
pip install jupyter pandas numpy matplotlib seaborn scikit-learn

Проблеми с Jupyter Notebook

Jupyter не стартира

Проблем: Командата jupyter notebook не е намерена

Решение:

# Install Jupyter
pip install jupyter

# Or use python -m
python -m jupyter notebook

# Add to PATH if needed (macOS/Linux)
export PATH="$HOME/.local/bin:$PATH"

Notebook не се зарежда или не се записва

Проблем: "Notebook failed to load" или грешки при запис

Решение:

  1. Проверете разрешенията на файла
# Make sure you have write permissions
ls -l notebook.ipynb
chmod 644 notebook.ipynb  # If needed
  1. Проверете за повреда на файла
# Try opening in text editor to check JSON structure
# Copy content to new notebook if corrupted
  1. Изчистете кеша на Jupyter
jupyter notebook --clear-cache

Клетката не се изпълнява

Проблем: Клетката остава на "In [*]" или отнема твърде много време

Решение:

  1. Прекъснете ядрото: Кликнете върху бутона "Interrupt" или натиснете I, I
  2. Рестартирайте ядрото: Меню Kernel → Restart
  3. Проверете за безкрайни цикли в кода си
  4. Изчистете изхода: Меню Cell → All Output → Clear

Графики не се показват

Проблем: Графиките на matplotlib не се показват в notebook

Решение:

# Add magic command at the top of notebook
%matplotlib inline

import matplotlib.pyplot as plt

# Create plot
plt.plot([1, 2, 3, 4])
plt.show()  # Make sure to call show()

Алтернатива за интерактивни графики:

%matplotlib notebook
# Or
%matplotlib widget

Проблеми с приложението за тестове

npm install не успява

Проблем: Грешки по време на npm install

Решение:

# Clear npm cache
npm cache clean --force

# Remove node_modules and package-lock.json
rm -rf node_modules package-lock.json

# Reinstall
npm install

# If still failing, try with legacy peer deps
npm install --legacy-peer-deps

Приложението за тестове не стартира

Проблем: npm run serve не успява

Решение:

# Check Node.js version
node --version  # Should be 12.x or higher

# Reinstall dependencies
cd quiz-app
rm -rf node_modules package-lock.json
npm install

# Try different port
npm run serve -- --port 8081

Портът вече се използва

Проблем: "Port 8080 is already in use"

Решение:

# Find and kill process on port 8080
# macOS/Linux:
lsof -ti:8080 | xargs kill -9

# Windows:
netstat -ano | findstr :8080
taskkill /PID <PID> /F

# Or use a different port
npm run serve -- --port 8081

Тестът не се зарежда или показва празна страница

Проблем: Приложението за тестове се зарежда, но показва празна страница

Решение:

  1. Проверете конзолата на браузъра за грешки (F12)
  2. Изчистете кеша и бисквитките на браузъра
  3. Опитайте с друг браузър
  4. Уверете се, че JavaScript е активиран
  5. Проверете дали блокиращи реклами пречат
# Rebuild the app
npm run build
npm run serve

Проблеми с Git и GitHub

Git не е разпознат

Проблем: git: command not found

Решение:

Windows:

  • Инсталирайте Git от git-scm.com
  • Рестартирайте терминала след инсталацията

macOS:

Забележка: Ако нямате инсталиран Homebrew, следвайте инструкциите на https://brew.sh/, за да го инсталирате.

# Install via Homebrew
brew install git

# Or install Xcode Command Line Tools
xcode-select --install

Linux:

sudo apt-get install git  # Debian/Ubuntu
sudo dnf install git      # Fedora

Неуспех при клониране

Проблем: git clone не успява с грешки за автентикация

Решение:

# Use HTTPS URL
git clone https://github.com/microsoft/Data-Science-For-Beginners.git

# If you have 2FA enabled on GitHub, use Personal Access Token
# Create token at: https://github.com/settings/tokens
# Use token as password when prompted

Отказан достъп (publickey)

Проблем: Грешка при автентикация с SSH ключ

Решение:

# Generate SSH key
ssh-keygen -t ed25519 -C "your_email@example.com"

# Add key to ssh-agent
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

# Add public key to GitHub
# Copy key: cat ~/.ssh/id_ed25519.pub
# Add at: https://github.com/settings/keys

Проблеми с документацията на Docsify

Командата Docsify не е намерена

Проблем: docsify: command not found

Решение:

# Install globally
npm install -g docsify-cli

# If permission error on macOS/Linux
sudo npm install -g docsify-cli

# Verify installation
docsify --version

# If still not found, add npm global path
# Find npm global path
npm config get prefix

# Add to PATH (add to ~/.bashrc or ~/.zshrc)
export PATH="$PATH:/usr/local/bin"

Документацията не се зарежда

Проблем: Docsify се стартира, но съдържанието не се зарежда

Решение:

# Ensure you're in the repository root
cd Data-Science-For-Beginners

# Check for index.html
ls index.html

# Serve with specific port
docsify serve --port 3000

# Check browser console for errors (F12)

Изображенията не се показват

Проблем: Изображенията показват икона за счупена връзка

Решение:

  1. Проверете дали пътищата на изображенията са относителни
  2. Уверете се, че файловете с изображения съществуват в хранилището
  3. Изчистете кеша на браузъра
  4. Проверете дали разширенията на файловете съвпадат (чувствителни към малки/големи букви на някои системи)

Проблеми с данни и файлове

Грешки "Файлът не е намерен"

Проблем: FileNotFoundError при зареждане на данни

Решение:

import os

# Check current working directory
print(os.getcwd())

# Use absolute path
data_path = os.path.join(os.getcwd(), 'data', 'filename.csv')
df = pd.read_csv(data_path)

# Or use relative path from notebook location
df = pd.read_csv('../data/filename.csv')

# Verify file exists
print(os.path.exists('data/filename.csv'))

Грешки при четене на CSV

Проблем: Грешки при четене на CSV файлове

Решение:

import pandas as pd

# Try different encodings
df = pd.read_csv('file.csv', encoding='utf-8')
# or
df = pd.read_csv('file.csv', encoding='latin-1')
# or
df = pd.read_csv('file.csv', encoding='ISO-8859-1')

# Handle missing values
df = pd.read_csv('file.csv', na_values=['NA', 'N/A', ''])

# Specify delimiter if not comma
df = pd.read_csv('file.csv', delimiter=';')

Грешки с паметта при големи набори от данни

Проблем: MemoryError при зареждане на големи файлове

Решение:

# Read in chunks
chunk_size = 10000
chunks = []
for chunk in pd.read_csv('large_file.csv', chunksize=chunk_size):
    # Process chunk
    chunks.append(chunk)
df = pd.concat(chunks)

# Or read specific columns only
df = pd.read_csv('file.csv', usecols=['col1', 'col2'])

# Use more efficient data types
df = pd.read_csv('file.csv', dtype={'column_name': 'int32'})

Проблеми с производителността

Бавна производителност на notebook

Проблем: Notebook-ите работят много бавно

Решение:

  1. Рестартирайте ядрото и изчистете изхода

    • Kernel → Restart & Clear Output
  2. Затворете неизползвани notebook-и

  3. Оптимизирайте кода:

# Use vectorized operations instead of loops
# Bad:
result = []
for x in data:
    result.append(x * 2)

# Good:
result = data * 2  # NumPy/Pandas vectorization
  1. Извадете проба от големи набори от данни:
# Work with sample during development
df_sample = df.sample(n=1000)  # or df.head(1000)

Сривове на браузъра

Проблем: Браузърът се срива или става неотзивчив

Решение:

  1. Затворете неизползвани раздели
  2. Изчистете кеша на браузъра
  3. Увеличете паметта на браузъра (Chrome: chrome://settings/system)
  4. Използвайте JupyterLab вместо това:
pip install jupyterlab
jupyter lab

Получаване на допълнителна помощ

Преди да поискате помощ

  1. Проверете това ръководство за отстраняване на проблеми
  2. Търсете в GitHub Issues
  3. Прегледайте INSTALLATION.md и USAGE.md
  4. Опитайте да потърсите съобщението за грешка онлайн

Как да поискате помощ

Когато създавате проблем или искате помощ, включете:

  1. Операционна система: Windows, macOS или Linux (коя дистрибуция)
  2. Версия на Python: Изпълнете python --version
  3. Съобщение за грешка: Копирайте пълното съобщение за грешка
  4. Стъпки за възпроизвеждане: Какво направихте преди да се появи грешката
  5. Какво сте опитали: Решения, които вече сте пробвали

Пример:

**Operating System:** macOS 12.0
**Python Version:** 3.9.7
**Error Message:** ModuleNotFoundError: No module named 'pandas'
**Steps to Reproduce:**
1. Activated virtual environment
2. Started Jupyter notebook
3. Tried to import pandas

**What I've Tried:**
- Ran pip install pandas
- Restarted Jupyter

Ресурси на общността

Свързана документация

  • INSTALLATION.md - Инструкции за настройка
  • USAGE.md - Как да използвате учебната програма
  • CONTRIBUTING.md - Как да допринесете
  • README.md - Преглед на проекта

Отказ от отговорност:
Този документ е преведен с помощта на AI услуга за превод Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да било недоразумения или погрешни интерпретации, произтичащи от използването на този превод.