[Python] Hilo general

HeXaN

Revivo el hilo porque hoy ha salido algo MUY interesante: JupyterLab, el sustituto de los notebooks de Jupyter.

https://blog.jupyter.org/jupyterlab-is-ready-for-users-5a6f039b8906

Le metéis un pipenv install jupyterlab y a probarlo.

9
S

acabo de terminar DaW, me falta las practicas y el proyecto final, como proyecto iba a hacer una api en python sin tener ni idea de python, para empezar me estoy instalando un ubuntu para desarrollar en esa maquina ( sin tener idea de linux). Me podeis dar ideas para la api?

2 respuestas
X-Crim

#422 como que no tienes ni idea de Linux? No hay en el ciclo una asignatura que os enseña un mínimo de Linux?

1 respuesta
Vashealer

#422 Demasiadas cosas a la vez, paso a paso.

Antes de meterte a hacer una API, trastea algo con Python.

Respecto al proyecto final de carrera pensaría alguna cosa más interesante. Más que hacer una API sin más, qué haría por dentro. Seguro que se te ocurre alguna idea ;)

Igualmente, si quieres hacerla primero tendrás que pensar qué ofrecer con ella. Como te veo un poco perdido, échale un ojo a http://flask.pocoo.org/. Un microframework que te puede servir para ir empezando.

Todo esto lo puedes desarrollar en Windows igualmente. Si quieres empezar con Linux te toca empaparte por internete.

Suerte

1 respuesta
S

#423 eh, bueno, digamos que si y digamos que no, see basó een 2 clases que explico un poco por encima permisos y ya eestá

#424 no es proyecto de carrera es de Ciclo SUperior asi que tampoco lo haria tan a lo bestia como un TFG, reespecto a flask, he visto algo sobre el ya, también he visto sobre django y algo de modelos para la futura api (models.py creo que era) pero claro, como bien decis, primero tengo que mirarme lo básico de python y respecto a Linux, es algo que siempre quise hacer, creo que hoy en día cualquier servidor está en Linux y si por X motivo me toca entrar por ssh o lo que sea, como dijo un amigo, daré gracias a haber aprenndido Linux, que a efectos prácticos a la hora de desarrollar es indiferente creo pero bueno.

La idea de mi proyecto es basicamente no la de hacer una api sino la de aprender Python y la excusa es hacer una api, pero claro, he hecho apis en PHP y una API la podria hacer en una tarde si sé el lenguaje, y hablo de una api muy básica, por eso digo sobre las ideas, que hacer una API een Python con los metodods basicos de CRUD puede ser algo verde.

1 respuesta
HeXaN

#425 Para tu proyecto lo único que necesitas, a parte de conocer Python, son los siguientes paquetes: pipenv, flask y pony. En una semana conoces los fundamentos de Python y en otra semana tienes tu proyecto hecho al completo.

yNk

Buenas a todos,

Algun manual, web, MOC recomendado para alguien con conocimientos nulos en programación para empezar desde 0?

Siempre me ha picado el gusanillo y me gustaría empezar por python, todo el mundo me ha hablado muy bien.

1 respuesta
Maiko

#427 Hace unos meses me pico tambien la curiosidad y empece con python, yo he estado haciendo el de codecademy y me ha parecido muy ameno.

Aprovecho para preguntar si me podriais recomendar otros sitios para seguir profundizando conocimientos de python.

S
  1. me podeis explicar el paquete de pipenv? he estado mirando por mi cuenta y veo que antes existia por separado pip y env, pip es una especie de gestor de dependencias tipo npm para node o composer para php, y env es una especie de entorno virtual para cada proyecto...

  2. Me puse ubuntu, y me aparece que teengo la version 2.7 cuando veo que python ya va por la 3.X.... tendré algun problema?

  3. En entornos windows uso xamp para apache + mysql, en linux la unica alternativa es Lamp? es que he visto que puedo simular una especie de server para ejecutar python con webs usando el comando simpleHTTPServer...

1 respuesta
B

#429 Tal y como te comentan mas arriba, procura conocer python antes de tirarte de cabeza a la piscina. Hasta donde sé yo de flask, no necesitas tener instalado apache para desarrollar. Cuando termines de conocer los fundamentos de python mírate flask y ya verás todo lo que necesitas para trabajar con ese framework:

http://flask.pocoo.org/

3 meses después
eondev

Una preguntica.
Si quiero reproducir un audio en python:

/>>> import vlc
/>>> p = vlc.MediaPlayer("/home/wasdf/Projects/test/hola.ogg")
/>>> p.play()

La cosa es, desde la consola el p.play() me reproduce el sonido pero si ejecuto desde archivo no, lo que se me ha ocurrido para esperar a que el audio se termine de reproducir es meter esta chapuza:

while p.is_playing:
    pass

y funciona, pero no sé por qué la consola espera a que se escuche todo el audio y desde fichero ejecuta y sale sin llegar a sonar nada. ;/

1 respuesta
HeXaN

#431 Usa pygame y no dependes de tener instalado el VLC.

import pygame
pygame.mixer.init()
pygame.mixer.music.load("AV14_C.ogg")
pygame.mixer.music.play()
while pygame.mixer.music.get_busy() == True:
    continue
1 respuesta
eondev

#432 Ya lo había probado y me suelta un pygame.error: Not an Ogg Vorbis audio stream tan rico. Pensaba que vlc-python instalado desde pip era totalmente independiente de la instalación de VLC.

1 respuesta
Markitos_182

#433 El stream es opus, no vorbis. Solo que va empaquetado en un OGG.

1 respuesta
eondev

#434 Sí, el mediainfo me muestra que es Opus, pero no entiendo por qué me suelta eso ._,
Solo lee ogg si tiene el codec Vorbis o qué?

2 respuestas
HeXaN

#435 Usa PyOgg + PyOpenAL si quieres reproducir Opus.

1 1 respuesta
eondev

#436 Gracias, estaba mirando como cargar opus en el pygame xddd. Habría sido más facil buscar en google "play Opus python", hay todo tipo de módulos para hacer todo tipo de cosas, menuda puta pasada la virgen. xDDDD

Markitos_182

#435 Te suelta eso porque OGG es un contenedor, y dentro hay un stream de audio codificado con Opus, y PyGame soporta Vorbis.

1
16 días después
HeXaN

Guido van Rossum se apea de Python y deja de ser el BDFL. Está hasta las pelotas de la comunidad.

https://www.mail-archive.com/python-committers@python.org/msg05628.html

https://www.reddit.com/r/Python/comments/8yapie/transfer_of_power_guido_stepping_down_as_bdfl/

eondev

Alguno de aquí usa PyPy?

Saphyel

pregunta rara: usar los static types aumenta el performance de python?

1 respuesta
Vashealer

#441 respuesta corta:

Para la respuesta larga hace falta algo de contexto, pero en general, lo que esté tipado de forma estática tiene mejor performance por que no tiene que comprobar los tipos en runtime.

Te dejo un link que lo explican easy: https://hackernoon.com/i-finally-understand-static-vs-dynamic-typing-and-you-will-too-ad0c2bd0acc7

1
Saphyel

Ayer estuve en un meetup en la que estaba CittyMapper como speaker y parece ser que aun usan 2.7 (piensan migrar a 3) y para los packages usan pipenv y miniconda, aunque puede que acaben usando solo pipenv.

Vashealer

awesome!, ya que sale el tema 2to3 dejo un video que me pareció interesante sobre cómo instagram migró a python 3.

Creo que tienen el proyecto django más grande ever :thinking:

1
HeXaN

Mi TOP 3 para aprender/mejorar con Python:

17 4 respuestas
Saphyel

#445 ahora solo hace falta que arreglen pip y se dejen de cambiar tonterias como el sistema de release que ahora le han puesto uno de calendario.

Saphyel

Encontre la version PDF... en prinicipio es similar pero cambian algunas cosas: https://www.cs.auckland.ac.nz/courses/compsci105ssc/resources/ProblemSolvingwithAlgorithmsandDataStructures.pdf

22 días después
eondev

Una peque;a duda, sabeis como puedo forzar para que pycharm me muestre los metodos de un objeto que he recibido?
Por ejemplo, con lo que estoy usando:

div = soup.find("div", {"id": "user-repositories-list"})
link = div.find_all("a", {"itemprop": "name codeRepository"})

Si escribo div. al poner el punto me deberia mostrar todos los metodos. En Java puedo forzar esto poniendo entre parentesis el tipo de objeto que es rollo ((Clase) objeto). aunque es un caso mas especifico que no tiene muhco que ver, pero que el ide sabe de que estoy hablando, aqui ni puta hulio como hacerlo ;/

Es como que no sabe el tipo que es el objeto, obvio por una parte pero por otra un poco tocahuevos, porque no puedes bucar en la lista de metodos ;/

1 respuesta
HeXaN

#448 ¿Cómo sabe PyCharm que div es un objeto y no otra "cosa"? Hasta que no ejecutes el código no se sabe el tipo de esa variable.

1 1 respuesta
eondev

#449 Ya, pero preguntaba por si habia alguna manera de forzar el casteo para que me sacase los metodos xD

Usuarios habituales