#746 Ju, pues a mi Spyder me gusta
PyCharm (y yo hace nada tiraba con Notepad++, pero un purista de la vida, casi me exigió que saliera de este...) + PIP. Ni VENV siquiera. El que te "fuerza" PyCharm como maxime y para facilitarle la vida a los demás. Si vas solo, en tu PC a pelo. PIP + PyCharm. Y siempre recomendable un Github o GitLab, en private, para tus cositas. Cumples 2 funciones básicas: backup + versioning.
Hay mucha gente que adora el Jupyter. A mi me pica un poco el culo con él...
Jamás de los jamases, uséis pip a pelo. Repito: jamás.
Es la peor práctica que existe y los problemas que puede acarrear son graves (reinstalar Python al completo, por ejemplo).
#753 Sí, ¿y? Para casa, ningún problema.
Reinstalas, ejecutas, se queja, montas módulos y a correr de nuevo.
Incluso para equipos pequeños. Que te lleva, ¿máximo 15 minutos? Descargas EXE, instalas Python ultima versión, reinstalas módulos y a correr otra vez.
#754 Un venv con todas las dependencias está listo en un par de minutos la gran mayoría de veces. Si haciendo alguna trastada con alguna dependencia lo dejas frito, generas uno nuevo que no afecta ni a tu instalación ni al resto de proyectos. Además que Pycharm trae un asistente de venv que es crema, te lo genera todo solito.
#754 crear un virtualenv e instalar paquetes para ese proyecto me lleva 30 segundos
Y tengo todos los proyectos que quiera a la vez wtf xDDD
#752 jupyter está muy extendido para prototipar proyectos de data science. A mí me encanta lo uso siempre en las primeras etapas de cualquier desarrollo.
#758 Yo precisamente los data scientist con los que curro, lo usan a saco, y luego cuando les pides que te den un script, un py un whatever, jamás pueden. Siempre te acaban mandando un correo con cachos de código sueltos. Puro prototipado.
Luego copian&pegan los cachos de codigo en un .py y este es el script...
#759 Porque serán unos inútiles. Cualquier notebook válido de Jupyter se puede exportar a un .py automáticamente.
#759 #760 muchos de esos .py dejan de funcionar por malas prácticas que te permite el Notebook. Variables que dejan de existir en código es algo muy común que he visto haha.
Luego muchos no saben paquetizar en scripts los procesos pero eso es algo más propio del poco conocimiento que traen estos perfiles.
Para mí trabajo de fin de curso estoy trabajando con Python. ¿Sabéis alguna forma de presentar el código de forma bonita, y como extraer arrays de manera presentable? Muchas gracias!
#762 Cualquier IDE de Python tiene ya PEP8 integrado y te lo pone bonito. Y para imprimir por pantalla las estructuras de datos de forma "bonita" puedes usar prettyprint.
Hablando de venvs, por lo general, para cada path de proyecto, yo tengo un folder venv dentro que usado como interpreter en PyCharm, hago que NO sirva para todos los demás proyectos y hago que NO tire de global packages (para no usar el --local en pip). Lo véis OK? O compartíis?
Personalmente prefiero que cada proyecto tenga su VENV independiente.
En mi caso, trabajo en un server remoto, que pasa por proxy y está capadisimo a nivel de permisos de usuario. Y me las veo y traigo para jugar con permisos de administrador + --trust-host en pip, de los cojones...
Amén de configurar el proxy HTTP en PyCharm, etc... Un engorro!
Encima desde Python 3.X, el upgrade de PIP en si mismo como modulo, peta en Windows! Aunque luego instala bien... Algo jodido todo en si mismo.
Cierto es que con virtualenv, y un requests.txt, las cosas son faciles:
- Nueva carpeta proyecto en PyCharm mismo.
- Pull del codigo.
- Nuevo inteprete que te genera dentro del folder el VENV automatico.
- Abres terminal y tiras el pip con -r requests.txt y a correr.
#762 codigo bonito? Que significa? En si mismo python es bonito por cojones, porque funciona por indentation y no por claves.
Así que por huevos es bonito.
Otra cosa es que no haya que pasar en carácteres de la "línea Dios", lo cual es una puta mierda... Entonces ahí el propio prettyfier de PyCharm, te corta las líneas, y te pega los espacios y saltos de línea que haga falta. Pero a mi personalmente, no me gusta. Hay gente que lo tiene configurado de base en el CTRL+S.
Finalmente, con un linter cualquiera (PyLint, flake8, Sonarlint...), te aseguras que el codigo "cumple" con lo que se espera de los programadores con TOC severo (el sumum a lo que hemos llegado...).
A falta de linter, tiras (o combinas) del propio Code Inspector de PyCharm, que justo tira de una versión descafeinada del PEP8 que te comenta Hexan #763.
Y para las esructuras de datos, si te refieres a imprimirlas como resultado por terminal, pues hay mil cosas. Por ejemplo: tabulate. O con panda, tiras de sus DataFrames, o mil otros. Inclusive con los formaters nativos de versiones de Python avanzadas, etc...
#768 Pero coño, esto lo he comentado y de nuevo insisto en ello: para casa. Para algo casero en el que estás tu solo.
Incluso, para un equipo pequeño con un proyecto muy consensuado y cerrado. Si no puede instalar los paquetes cualquiera y quien lo hace conoce la lógica "del todo", no hay problema alguno. Ya es querer discutir por que sí.
#769 Ni para casa, lo primero que aprendi, usar virtualenv y un requirements.txt (o poetry o lo que os salga de ahi) . Me ahorre todos los quebraderos de cabeza que me pude encontrar cuando estaba en la uni. Da igual que cambies de pc, que vuelvas a trabajar con un proyecto que habias dejado parado hace años. Es que no hay ninguna razon para para no usar venv...
#770Lolerpopler:lo primero que aprendi, usar virtualenv y un requirements.txt
Es que es el step one de todo curso tutorial que se precie mínimamente xd Si no recuerdo mal en la docu oficial de python es de lo primero que pone.
Te voy a decir el único caso en el que no uso venv: En una raspberry pi que tengo en el coche metida en la guantera conectada al CAN parseando paquetes.
#765 Cuando hablaba de ponerlo bonito, era con referencia a llevarlo a un procesadord de texto como latex. No se si hay alguna forma para mantener el aspecto de Pycharm(que es lo que uso actualmente). En referencia a arrays ( matrices en el caso que me ocupa), lo decía con el mismo menester, el de aplicarlo a texto.
#773 Puedes modificar los code listings de LaTeX para que tengan los colores que quieras. Pero vamos, demasiado curro. Yo en el paper que tengo publicado los tengo en negro (es lo normal) y listo.
#773 #774 Estoy flipando con lo que comentáis. Acabo de echarle un vistazo, y me parece bien curioso...
https://www.overleaf.com/learn/latex/code_listing
¿Y esto por que?
Quiero decir, ¿porque no redactar en Word, y luego en este hacer un bloque en Courier New clásico para código, o con la nueva fuente "JetBrains Mono"? ¿Los papers los tenéis que hacer o los hacéis por voluntad en LaTex?
https://www.jetbrains.com/lp/mono/?_ga=2.61376492.1301265848.1586901470-323400982.1586901470
Que te queda precioso:
Fuente: https://www.jetbrains.com/lp/mono/?_ga=2.61376492.1301265848.1586901470-323400982.1586901470
Embeder codigo en word "bien": https://stackoverflow.com/a/2653406 (el resto de posts son igual de magníficos).
Os comento un poquillo una duda que tengo.
Estoy realizando un programa, que a partir de unas determinadas variables pinta una superficie en 3D (usando matplotlib). Lo siguiente para completar este programa ha sido hacer una GUI muy básica con la que introducir estas variables. La cosa es que lo siguiente que quiero es poder exportarlo y que funciones sin necesidad de spyder (sé que habéis dicho que no es recomendable, pero es lo que dijeron que usara). Es decir, abrir, meter datos y que imprima la gráfica. La duda es, sólo es necesario generar el .exe y ya funcionaría?
#779telemaco103:La duda es, sólo es necesario generar el .exe y ya funcionaría?
La teoría es esa pero claro, luego los empaquetadores no son perfectos.