|
| 1 | +# Mantén tu configuración actualizada |
1 | 2 |
|
2 | | -# Cómo mantener tu configuración al día |
| 3 | +Esta sección contiene los pasos que debes seguir para asegurarte de que tu configuración esté actualizada. |
3 | 4 |
|
4 | | -Esta sección contiene los pasos que tienes que seguir para asegurarte de que tu configuración esté actualizada. |
| 5 | +Ante todo, para poder trabajar en buenas condiciones, asegúrate de que: |
| 6 | +- tienes una conexión a internet de alta velocidad; |
| 7 | +- tu ordenador tiene suficiente memoria (8 GB) para ejecutar tu código de manera eficiente; |
| 8 | +- tu ordenador tiene suficiente espacio en disco (30 GB) para trabajar con conjuntos de datos grandes. |
5 | 9 |
|
6 | | -Primero y principal, para trabajar en buenas condiciones, asegúrate de que: |
7 | | -- tienes una conexión internet de alta velocidad |
8 | | -- tu computadora tiene suficiente memoria (8GB) para poder ejecutar tu código eficientemente |
9 | | -- tu computadora tiene suficiente espacio en disco (30GB) para poder trabajar con grandes datasets. |
| 10 | +En esta guía nos centramos en lo esencial: |
10 | 11 |
|
11 | | -## git |
12 | | - |
13 | | -Verifica que git funcione: |
14 | | - |
15 | | -``` bash |
16 | | -git --version |
17 | | -``` |
18 | | - |
19 | | -👉 Deberías obtener algo parecido a esto de aquí abajo que te muestra la versión de git: |
20 | | - |
21 | | -``` bash |
22 | | -git version 2.33.0 |
23 | | -``` |
24 | | - |
25 | | -## GitHub |
26 | | - |
27 | | -Verifica que tengas acceso a los repositorios GitHub públicos de Le Wagon |
28 | | - |
29 | | -``` bash |
30 | | -cd ~/code/<YOUR_GITHUB_NICKNAME>/ |
31 | | -git clone git@github.com:lewagon/data-setup data-setup |
32 | | -``` |
33 | | - |
34 | | -👉 Se debe clonar el repositorio correctamente: |
| 12 | +- Git y GitHub. |
| 13 | +- Los `dotfiles`, los archivos de configuración de tu shell. Son importantes para que Python funcione. |
| 14 | +- Instalar Python y sus dependencias con `uv`. |
| 15 | +- Autenticarte con Google Cloud. |
35 | 16 |
|
36 | | -``` bash |
37 | | -Cloning into 'data-setup'... |
38 | | -remote: Enumerating objects: 21, done. |
39 | | -remote: Counting objects: 100% (21/21), done. |
40 | | -remote: Compressing objects: 100% (14/14), done. |
41 | | -Receiving objects: 100% (21/21), done. |
42 | | -Resolving deltas: 100% (6/6), done. |
43 | | -remote: Total 21 (delta 6), reused 16 (delta 1), pack-reused 0 |
44 | | -``` |
45 | | - |
46 | | -👉 Puedes borrar el repositorio clonado |
47 | | - |
48 | | -``` bash |
49 | | -rm -Rf data-setup |
50 | | -``` |
51 | | - |
52 | | -## Verificación de la configuración de pyenv |
53 | | - |
54 | | -Verifica que tengas un `~/.zprofile` : |
55 | | - |
56 | | -``` bash |
57 | | -cat ~/.zprofile |
58 | | -``` |
59 | | - |
60 | | -👉 Deberías poder ver las líneas siguientes: |
61 | | - |
62 | | -``` bash |
63 | | -# Setup the PATH for pyenv binaries and shims |
64 | | -export PYENV_ROOT="$HOME/.pyenv" |
65 | | -export PATH="$PYENV_ROOT/bin:$PATH" |
66 | | -type -a pyenv > /dev/null && eval "$(pyenv init --path)" |
67 | | -``` |
68 | | - |
69 | | -Si el comando no da ningún resultado, crea el archivo `~/.zprofile`: |
70 | | - |
71 | | -``` bash |
72 | | -cd |
73 | | -touch .zprofile |
74 | | -``` |
75 | | - |
76 | | -Agrega las siguientes líneas a tu `~/.zprofile` : |
77 | | - |
78 | | -``` bash |
79 | | -# Setup the PATH for pyenv binaries and shims |
80 | | -export PYENV_ROOT="$HOME/.pyenv" |
81 | | -export PATH="$PYENV_ROOT/bin:$PATH" |
82 | | -type -a pyenv > /dev/null && eval "$(pyenv init --path)" |
83 | | -``` |
84 | | - |
85 | | -## Creación de un ambiente virtual dedicado |
86 | | - |
87 | | -Actualiza pyenv: |
| 17 | +Según tu caso de uso, es posible que también quieras actualizar otras partes. Si es así, consulta las instrucciones completas de configuración. |
88 | 18 |
|
89 | 19 | {% if os == "macos" %} |
90 | | -``` bash |
91 | | -brew update && brew upgrade pyenv |
92 | | -``` |
93 | | -{% elsif os == "linux" %} |
94 | | -``` bash |
95 | | -cd $(pyenv root) && git pull |
96 | | -``` |
97 | | -{% elsif os == "windows" %} |
98 | | -``` bash |
99 | | -cd $(pyenv root) && git pull |
100 | | -``` |
101 | | -{% endif %} |
102 | | - |
103 | | -Instala la versión actual de python: |
104 | | - |
105 | | -```bash |
106 | | -pyenv install {{ PYTHON_VERSION }} |
107 | | -``` |
108 | | - |
109 | | -👉 Asegúrate de que el comando se ejecute completamente y luego **reinicia tu terminal**. |
110 | | - |
111 | | -Remueve el ambiente virtual dedicado actual: |
112 | | - |
113 | | -```bash |
114 | | -pyenv virtualenv-delete lewagon_current |
115 | | -``` |
116 | | - |
117 | | -Crea un nuevo ambiente virtual: |
118 | | - |
119 | | -```bash |
120 | | -pyenv virtualenv {{ PYTHON_VERSION }} lewagon_current |
121 | | -``` |
122 | | - |
123 | | -Define el nuevo ambiente virtual como predeterminado: |
124 | | - |
125 | | -```bash |
126 | | -pyenv global lewagon_current |
127 | | -``` |
128 | | - |
129 | | -Ahora deberías poder ver que el nuevo ambiente virtual está activado: |
130 | | - |
131 | | -``` bash |
132 | | -pyenv versions |
133 | | -``` |
| 20 | +:warning: Ten en cuenta que la configuración actual ya no es compatible con ordenadores Apple equipados con procesadores Intel. |
134 | 21 |
|
135 | | -👉 Aquí hay una muestra del resultado: |
136 | | - |
137 | | -``` bash |
138 | | - system |
139 | | - {{ PYTHON_VERSION }} |
140 | | - {{ PYTHON_VERSION }}/envs/lewagon_current |
141 | | - 3.7.6 |
142 | | - 3.7.6/envs/lewagon |
143 | | -* lewagon_current |
144 | | - lewagon |
145 | | -``` |
146 | | - |
147 | | -### Instalación de los paquetes del bootcamp |
148 | | - |
149 | | -```bash |
150 | | -pip install -U pip |
151 | | -``` |
152 | | - |
153 | | -{% if os == "macos" %} |
154 | | -Si tu computadora usa **Apple Silicon**, expande el párrafo de abajo y léelo. Si no es el caso, ignóralo. |
155 | | - |
156 | | -<details> |
157 | | - <summary>👉 Configuración para Apple Silicon 👈</summary> |
158 | | - |
159 | | -``` bash |
160 | | -pip install -r https://raw.githubusercontent.com/lewagon/data-setup/master/specs/releases/apple_silicon.txt |
161 | | -``` |
162 | | -</details> |
163 | | - |
164 | | -Si tu computadora usa **Apple Intel**, expande el párrafo de abajo y léelo. Si no es el caso, ignóralo. |
165 | | - |
166 | | -<details> |
167 | | - <summary>👉 Configuración para Apple Intel 👈</summary> |
168 | | - |
169 | | -``` bash |
170 | | -pip install -r https://raw.githubusercontent.com/lewagon/data-setup/master/specs/releases/apple_intel.txt |
171 | | -``` |
172 | | -</details> |
173 | | -{% elsif os == "windows" %} |
174 | | -``` bash |
175 | | -pip install -r https://raw.githubusercontent.com/lewagon/data-setup/master/specs/releases/linux.txt |
176 | | -``` |
177 | | -{% elsif os == "linux" %} |
178 | | -``` bash |
179 | | -pip install -r https://raw.githubusercontent.com/lewagon/data-setup/master/specs/releases/linux.txt |
180 | | -``` |
| 22 | +Consulta las instrucciones completas de configuración si no estás seguro de qué procesador tienes. |
181 | 23 | {% endif %} |
182 | 24 |
|
183 | | -## GCP |
184 | | - |
185 | | -Asegúrate de que el comando `gcloud` esté conectado con el email de tu cuenta Google Cloud Platform: |
186 | | - |
187 | | -``` bash |
188 | | -gcloud auth list |
189 | | -``` |
190 | | - |
191 | | -👉 Esto muestra los emails de tu cuenta GCP: |
192 | | - |
193 | | -``` bash |
194 | | - Credentialed Accounts |
195 | | -ACTIVE ACCOUNT |
196 | | -* your.email_address@your.email.provider |
197 | | - |
198 | | -To set the active account, run: |
199 | | - $ gcloud config set account `ACCOUNT` |
200 | | -``` |
201 | | - |
202 | | -Verifica el nombre de tu proyecto gcp: |
203 | | - |
204 | | -``` bash |
205 | | -gcloud config list |
206 | | -``` |
207 | | - |
208 | | -👉 Esto muestra tanto el email de tu cuenta GCP como tu proyecto GCP: |
209 | | - |
210 | | - |
211 | | -``` bash |
212 | | -[core] |
213 | | -account = your.email_address@your.email.provider |
214 | | -disable_usage_reporting = True |
215 | | -project = your-gcp-project-id |
216 | | - |
217 | | -Your active configuration is: [default] |
218 | | -``` |
219 | | - |
220 | | -Verifica que el email creado para la cuenta de servicio permita que tu código se identifique con GCP: |
221 | | - |
222 | | -``` bash |
223 | | -gcloud iam service-accounts list |
224 | | -``` |
225 | | - |
226 | | -👉 Esto muestra el email de la cuenta de servicio en GCP que permite que tu código se identifique con GCP. |
227 | | - |
228 | | -``` bash |
229 | | -DISPLAY NAME EMAIL DISABLED |
230 | | -your-gcp-project-id your-service-account@your-service-account.iam.gserviceaccount.com False |
231 | | -``` |
232 | 25 |
|
233 | | -Ve a [GCP IAM & Admin / Service Accounts](https://console.cloud.google.com/iam-admin/serviceaccounts): |
234 | | -- Selecciona tu proyecto |
235 | | -- Haz clic en el email de la cuenta de servicio |
236 | | -- Ve a `PERMISSIONS` |
237 | | -- Asegúrate de que el email de la cuenta de servicio tenga un `Role` configurado como `Owner` |
| 26 | +## git |
238 | 27 |
|
239 | | -Verifica que hayas configurado tu máquina para que permita que tu código se identifique con GCP. El archivo de claves json de las credenciales de la cuenta de servicio debe estar conectado al email de la cuenta de servicio correcto: |
| 28 | +Verifica que git funciona: |
240 | 29 |
|
241 | 30 | ``` bash |
242 | | -cat $GOOGLE_APPLICATION_CREDENTIALS |
| 31 | +git --version |
243 | 32 | ``` |
244 | 33 |
|
245 | | -👉 Esto muestra el contenido de la clave json de las credenciales de la cuenta de servicio: |
| 34 | +👉 Deberías obtener un resultado similar a este, que muestra la versión de git: |
246 | 35 |
|
247 | 36 | ``` bash |
248 | | -{ |
249 | | - "type": "service_account", |
250 | | - "project_id": "your-gcp-project-id", |
251 | | - "private_key_id": "a2d4a2d4a2d4a2d4a2d4a2d4a2d4a2d4a2d4a2d4", |
252 | | - "private_key": "-----BEGIN PRIVATE KEY-----\nMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInMIInM=\n-----END PRIVATE KEY-----\n", |
253 | | - "client_email": "your-service-account@your-service-account.iam.gserviceaccount.com", |
254 | | - "client_id": "105410541054105410541", |
255 | | - "auth_uri": "https://accounts.google.com/o/oauth2/auth", |
256 | | - "token_uri": "https://oauth2.googleapis.com/token", |
257 | | - "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", |
258 | | - "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/your-service-account%40your-service-account.iam.gserviceaccount.com" |
259 | | -} |
| 37 | +git version 2.33.0 |
260 | 38 | ``` |
261 | 39 |
|
262 | | -Asegúrate de que el archivo contenga: |
263 | | -- el id el proyecto adecuado: your-gcp-project-id |
264 | | -- el email de la cuenta de servicio adecuado: your-service-account@your-service-account.iam.gserviceaccount.com |
265 | | - |
266 | | -👉 Si esto no muestra nada o si el email dentro del archivo no es el de tu cuenta de servicio, regresa al setup. |
| 40 | +Si esto no funciona, te recomendamos seguir las instrucciones completas de configuración. |
267 | 41 |
|
268 | | -Asegúrate de que Docker reconozca a los recursos GCP: |
| 42 | +## GitHub |
269 | 43 |
|
270 | | -``` bash |
271 | | -gcloud auth configure-docker |
272 | | -``` |
| 44 | +Comprueba que la CLI de `gh` está autenticada: |
273 | 45 |
|
274 | | -👉 Esto muestra los prefijos de los nombres de las imágenes que Docker reconoce como destinados a GCP |
| 46 | +✔️ Si obtienes este resultado, todo está correcto 👍 |
275 | 47 |
|
276 | | -``` bash |
277 | | -{ |
278 | | - "credHelpers": { |
279 | | - "us.gcr.io": "gcloud", |
280 | | - "eu.gcr.io": "gcloud", |
281 | | - "asia.gcr.io": "gcloud", |
282 | | - "staging-k8s.gcr.io": "gcloud", |
283 | | - "marketplace.gcr.io": "gcloud", |
284 | | - "gcr.io": "gcloud" |
285 | | - } |
286 | | -} |
| 48 | +```bash |
| 49 | +✔️ Logged in to github.com as <YOUR GITHUB USERNAME> |
| 50 | +- Active account: true |
| 51 | +- Git operation protocol: ssh |
| 52 | +... |
287 | 53 | ``` |
288 | 54 |
|
289 | | -## Docker |
| 55 | +Presta atención a `ssh` en la tercera línea. Si aparece otra cosa, tu configuración ya no está actualizada. |
290 | 56 |
|
291 | | -{% if os == "macos" %} |
292 | | -Start the Docker app |
293 | | -{% elsif os == "linux" %} |
294 | | -Start Docker : |
| 57 | +❌ Si no es así, te recomendamos seguir las instrucciones completas de configuración. |
295 | 58 |
|
296 | | -``` bash |
297 | | -sudo service docker start |
298 | | -``` |
299 | | -{% elsif os == "windows" %} |
300 | | -Start the Docker Desktop app |
301 | | -{% endif %} |
302 | 59 |
|
303 | | -Verifica que Docker pueda ejecutar la imagen de hello-world: |
| 60 | +## Actualizar tus dotfiles |
304 | 61 |
|
305 | | -``` bash |
306 | | -docker run hello-world |
307 | | -``` |
308 | | - |
309 | | -👉 Asegúrate de que este comando se ejecute completamente |
310 | | - |
311 | | -{% if os == "macos" %} |
312 | | -Stop the Docker app |
313 | | -{% elsif os == "linux" %} |
314 | | -Stop Docker : |
| 62 | +Los dotfiles experimentaron un cambio importante en septiembre de 2026. Si los instalaste antes, debes actualizarlos. |
315 | 63 |
|
316 | | -``` bash |
317 | | -sudo service docker stop |
318 | | -``` |
319 | | -{% elsif os == "windows" %} |
320 | | -Stop the Docker Desktop app |
321 | | -{% endif %} |
| 64 | +Sigue las instrucciones que aparecen a continuación si eres un estudiante que regresa. |
0 commit comments