KCH / src /chapters /ch01-development-environment.qmd
bsamadi's picture
Update to pixi env
c032460
# 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)