Configuración del entorno de Python
Instalará el SDK de Python de OpenAI, creará un entorno virtual, almacenará su clave de API de forma segura mediante variables de entorno y verificará que todo funciona con una comprobación de estado.
Configuración del entorno de Python es una lección gratuita de AI Engineering Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AI Engineering Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AI Engineering Academy incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
Why Virtual Environments Matter
AI projects pull in lots of packages, and they clash over versions. A virtual environment gives each project its own isolated Python so nothing collides. The code sets one up.
# Create and activate a virtual environment
# Run these commands in your terminal
python3 -m venv .venv # create environment in .venv/ folder
source .venv/bin/activate # activate on macOS/Linux
# .venv\Scripts\activate # activate on Windows
python --version # verify you are using the right PythonInstalling the OpenAI Python SDK
The official OpenAI Python SDK is how you talk to the API — it handles auth, retries, and parsing. Install it inside your active environment, as the code shows.
# Install the OpenAI SDK
pip install openai
# For production projects, pin the version:
pip install 'openai>=1.30.0,<2.0.0'
# Save your dependencies to requirements.txt:
pip freeze > requirements.txt
# Install from requirements.txt on a new machine:
pip install -r requirements.txtGetting and Storing Your API Key
Your API key is a secret — never put it in code. Store it in a .env file, add that to .gitignore, and load it as an environment variable. The code shows the pattern.
# .env file (never commit this!)
# OPENAI_API_KEY=sk-proj-...
# In your Python script:
import os
from dotenv import load_dotenv
load_dotenv() # reads .env and sets environment variables
api_key = os.environ.get('OPENAI_API_KEY')
if not api_key:
raise ValueError('OPENAI_API_KEY environment variable not set!')
print('API key loaded:', api_key[:8] + '...') # only print prefixInitializing the OpenAI Client
You create one OpenAI() client and call everything through it. If your key is set as an env variable, the client finds it automatically — cleaner and safer.
from openai import OpenAI
# API key is read from OPENAI_API_KEY environment variable automatically
client = OpenAI()
# Or explicitly:
# client = OpenAI(api_key='sk-proj-...') # only for quick tests
# For alternative providers:
# client = OpenAI(
# api_key='your-together-key',
# base_url='https://api.together.xyz/v1'
# )Your First API Health Check
Before building anything, run a tiny health check that lists the models. It confirms your key works, the network is fine, and the SDK is installed. Always run it first.
from openai import OpenAI
client = OpenAI()
# Simple health check: list available models
try:
models = client.models.list()
print(f'Connection successful! Found {len(list(models))} models.')
except Exception as e:
print(f'Connection failed: {e}')Project Structure Best Practices
As projects grow, a consistent project structure saves headaches: keep secrets in .env, code in src/, and a .env.example template so teammates know what's needed.
# Recommended project structure:
# my_ai_project/
# |-- .env (secrets, gitignored)
# |-- .env.example (template, committed)
# |-- .gitignore
# |-- requirements.txt
# |-- README.md
# |-- src/
# | |-- __init__.py
# | |-- client.py (OpenAI client initialization)
# | |-- prompts.py (prompt templates)
# | |-- main.py
# |-- tests/
# |-- notebooks/
# |-- MakefileManaging Multiple API Keys Securely
Juggling many provider keys? A secrets manager like AWS Secrets Manager or Doppler scales better than one .env. Use a separate key per project so you can revoke safely.
# .env.example - commit this as a template
# OPENAI_API_KEY=sk-proj-...your key here...
# OPENAI_ORG_ID=org-...optional org id...
# COHERE_API_KEY=...cohere key...
# PINECONE_API_KEY=...pinecone key...
# PINECONE_ENVIRONMENT=us-east-1-aws
# In code, load all at once:
from dotenv import load_dotenv
import os
load_dotenv()
config = {
'openai_key': os.environ['OPENAI_API_KEY'],
'cohere_key': os.environ.get('COHERE_API_KEY'), # optional
}Using Python Version Managers
Different projects need different Python versions. A version manager like pyenv installs several and switches between them per folder — no system-level conflicts.
# Install pyenv (macOS via Homebrew)
# brew install pyenv
# Install Python 3.11
# pyenv install 3.11.9
# Set Python version for this project directory
# pyenv local 3.11.9
# This creates a .python-version file:
# cat .python-version
# 3.11.9
# Now python3 automatically uses 3.11.9 in this directoryTesting Your Setup With a Real Prompt
The real test is a live prompt that gets a real reply. This end-to-end check validates your setup, key, network, and billing in one shot. Ask for one word: READY.
from openai import OpenAI
from dotenv import load_dotenv
load_dotenv()
client = OpenAI()
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[
{'role': 'system', 'content': 'You are a test responder.'},
{'role': 'user', 'content': 'Reply with just the word READY.'}
],
temperature=0,
max_tokens=5
)
print('Response:', response.choices[0].message.content)
print('Model used:', response.model)
print('Tokens used:', response.usage.total_tokens)Using uv for Faster Package Management
uv is a fast, Rust-based package manager that's 10-100x quicker than pip. For heavy AI libraries, a 3-minute install drops to seconds. Worth adopting from day one.
# Install uv (macOS/Linux)
# curl -LsSf https://astral.sh/uv/install.sh | sh
# Create a project with uv
# uv init my-ai-project
# cd my-ai-project
# Add dependencies
# uv add openai python-dotenv
# Run your script using the uv-managed environment
# uv run python main.py
# Generate requirements.txt for compatibility
# uv pip compile pyproject.toml -o requirements.txtEnvironment Variables in Production
In production, .env isn't enough. Platforms like Railway and Vercel inject environment variables at runtime. Your code reads os.environ; only the injected values change.
# Centralized config loader pattern for production
import os
from dataclasses import dataclass
@dataclass
class AppConfig:
openai_api_key: str
environment: str
log_level: str
@classmethod
def from_env(cls):
key = os.environ.get('OPENAI_API_KEY')
if not key:
raise EnvironmentError('OPENAI_API_KEY must be set')
return cls(
openai_api_key=key,
environment=os.environ.get('ENVIRONMENT', 'development'),
log_level=os.environ.get('LOG_LEVEL', 'INFO')
)
config = AppConfig.from_env()Quick Check
Test your understanding of AI Engineering concepts from this lesson.
Lesson Recap
You set up your toolkit: a virtual environment isolates dependencies, API keys live in env variables (never in code), and a health check runs first on any machine. Next: chat. 🎉
Preguntas frecuentes
¿La lección «Configuración del entorno de Python» es gratis?
Sí — el texto completo de «Configuración del entorno de Python» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AI Engineering Academy, actualiza a CoddyKit PRO. El curso de AI Engineering Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Configuración del entorno de Python»?
Instalará el SDK de Python de OpenAI, creará un entorno virtual, almacenará su clave de API de forma segura mediante variables de entorno y verificará que todo funciona con una comprobación de estado. Practicas AI Engineering Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar AI Engineering Academy?
No se requiere experiencia previa. AI Engineering Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Configuración del entorno de Python»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de AI Engineering Academy?
Sí. Cada lección de AI Engineering Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Configuración del entorno de Python
- El endpoint de Chat Completions
- Control del comportamiento del modelo con parámetros
- Gestión de errores y límites de velocidad