| # Development Environment Setup | |
| ## Learning Objectives | |
| By the end of this section, you will be able to: | |
| - Install and configure pixi for Python package management | |
| - Set up GitHub Copilot for AI-assisted development | |
| - Configure VS Code or your preferred IDE for Python development | |
| - Verify your development environment is working correctly | |
| ## Installing Pixi | |
| Pixi is a modern, cross-platform package manager that simplifies Python project management and dependency handling. | |
| ### Installation | |
| ```bash | |
| # Install pixi (works on Linux, macOS, and Windows) | |
| curl -fsSL https://pixi.sh/install.sh | bash | |
| # Verify installation | |
| pixi --version | |
| ``` | |
| ### Why Pixi? | |
| - **Fast**: Uses conda packages with parallel downloads | |
| - **Reproducible**: Lock files ensure consistent environments | |
| - **Cross-platform**: Works identically on all operating systems | |
| - **Modern**: Built with Rust for performance and reliability | |
| ## Setting Up GitHub Copilot | |
| GitHub Copilot is an AI pair programmer that helps you write code faster and with fewer errors. | |
| ### Prerequisites | |
| - GitHub account with Copilot subscription (free for students and open-source maintainers) | |
| - VS Code or compatible IDE | |
| ### Installation Steps | |
| 1. **Install VS Code** (if not already installed) | |
| - Download from [code.visualstudio.com](https://code.visualstudio.com/) | |
| 2. **Install GitHub Copilot Extension** | |
| - Open VS Code | |
| - Go to Extensions (Ctrl+Shift+X / Cmd+Shift+X) | |
| - Search for "GitHub Copilot" | |
| - Click Install | |
| 3. **Sign In** | |
| - Click "Sign in to GitHub" when prompted | |
| - Authorize VS Code to access your GitHub account | |
| - Complete the authentication flow | |
| 4. **Verify Setup** | |
| - Create a new Python file | |
| - Start typing a function definition | |
| - You should see gray suggestions from Copilot | |
| ### Copilot Best Practices | |
| - **Write clear comments**: Copilot uses comments to understand your intent | |
| - **Use descriptive names**: Function and variable names guide suggestions | |
| - **Review suggestions**: Always review and understand generated code | |
| - **Iterate**: If the first suggestion isn't right, try rephrasing your comment | |
| ## Installing Git | |
| Git is essential for version control and collaboration. | |
| ```bash | |
| # Linux (Debian/Ubuntu) | |
| sudo apt install git | |
| # macOS (with Homebrew) | |
| brew install git | |
| # Windows | |
| # Download from git-scm.com | |
| ``` | |
| Verify installation: | |
| ```bash | |
| git --version | |
| ``` | |
| ## IDE Configuration | |
| ### VS Code Extensions | |
| Install these recommended extensions: | |
| - **Python** (Microsoft) - Python language support | |
| - **GitHub Copilot** - AI pair programmer | |
| - **Pylance** - Fast Python language server | |
| - **Ruff** - Fast Python linter | |
| - **GitLens** - Enhanced Git capabilities | |
| ### VS Code Settings | |
| Create or update `.vscode/settings.json` in your project: | |
| ```json | |
| { | |
| "python.linting.enabled": true, | |
| "python.linting.ruffEnabled": true, | |
| "python.formatting.provider": "black", | |
| "editor.formatOnSave": true, | |
| "editor.codeActionsOnSave": { | |
| "source.organizeImports": true | |
| }, | |
| "github.copilot.enable": { | |
| "*": true, | |
| "python": true | |
| } | |
| } | |
| ``` | |
| ## Verification | |
| Let's verify everything is working: | |
| ```bash | |
| # Check pixi | |
| pixi --version | |
| # Check Git | |
| git --version | |
| # Check Python (via pixi) | |
| pixi run python --version | |
| ``` | |
| ## Creating Your First Pixi Project | |
| ```bash | |
| # Create a new directory | |
| mkdir my-first-cli | |
| cd my-first-cli | |
| # Initialize pixi project | |
| pixi init | |
| # Add Python | |
| pixi add python | |
| # Create a simple script | |
| mkdir src | |
| echo 'print("Hello from Kashi Coding Handbook!")' > src/hello.py | |
| # Run it | |
| pixi run python src/hello.py | |
| ``` | |
| You should see: `Hello from Kashi Coding Handbook!` | |
| ## Troubleshooting | |
| ### Pixi not found after installation | |
| - **Linux/macOS**: Add pixi to your PATH by restarting your terminal or running: | |
| ```bash | |
| source ~/.bashrc # or ~/.zshrc | |
| ``` | |
| - **Windows**: Restart your terminal or add pixi to your system PATH | |
| ### Copilot not showing suggestions | |
| - Verify you're signed in to GitHub in VS Code | |
| - Check that Copilot is enabled in VS Code settings | |
| - Try reloading VS Code (Ctrl+Shift+P → "Reload Window") | |
| ### Permission errors with pixi | |
| - Don't use `sudo` with pixi | |
| - Ensure you have write permissions in your home directory | |
| ## Next Steps | |
| Now that your development environment is set up, proceed to the next section to learn about modern Python project structure. | |
| ## Resources | |
| - [Pixi Documentation](https://pixi.sh/latest/) | |
| - [GitHub Copilot Docs](https://docs.github.com/en/copilot) | |
| - [VS Code Python Tutorial](https://code.visualstudio.com/docs/python/python-tutorial) | |