2010-09-21 18 views
12

Estoy interesado en aprender Python pero mis habilidades con Linux son malas. Me gustaría desarrollar una aplicación web de escala media a grande utilizando python y django, pero temo que el software no funcione bien en una ventana. ¿Hay una diferencia de rendimiento en la ejecución de Python en Linux vs Windows? ¿Hay algo de lo que deba tener cuidado cuando desarrolle la aplicación? Además, soy consciente de que es muy fácil integrar bibliotecas C++ con python. ¿Sigue siendo cierto este enunciado si el código está en un recuadro de ventanas?Ejecutando Python en una máquina Windows vs Linux

+1

No te preocupes. Python es un excelente lenguaje para principiantes y profesionales. La gran noticia es que puede instalarse en Windows para que pueda aprender en un sistema operativo familiar. Es über portátil. – Sean

+1

Realmente no necesitas 'habilidad' para ejecutar linux nunca más. Instalar (K) Ubuntu. Es más fácil de instalar que Windows – Falmarri

Respuesta

10

No le digas a nadie esto, pero he ejecutado python/django en Windows. Funciona bien y el rendimiento no es peor de lo que esperarías de Windows. Usé MySQL y se instaló sin problemas. Tenía que buscar a tientas alrededor para descubrir cómo manejarla (sin buen ol' sudo /etc/init.d/mysql restart pero al final encontré una interfaz gráfica para hacer lo que necesitaba.

programa
+0

¿Hay alguna posibilidad de que especifiques esa interfaz gráfica para el resto de nosotros? –

+0

@Tim Yates. Era algo así como 'services.msc' o algo así. Debes ir a la linda opción de ejecutar en el menú 'inicio' y luego escribirla. No soy realmente una persona de Windows y prefiero olvidar esa parte de mi vida. – aaronasterling

+0

@TimeYates, @AaronMcSmooth Sé con certeza que esto se puede hacer a través de services.msc. Tienes que presionar + 'r' para obtener un diálogo de ejecución. Allí, escriba "servcies.msc" (sin las comillas) y debería llevarlo a una lista de todos los servicios en el sistema (también enumera si se están ejecutando actualmente y bajo qué condiciones se inician). Hay un botón "reiniciar" que puede usar para reiniciar cualquier servicio seleccionado – inspectorG4dget

1

Python es muy portátil con facilidad. La mayoría de las veces su código funcionará en cualquier plataforma que tiene la versión adecuada del pitón.

Un punto a tener en cuenta, sin embargo, es la manipulación ruta del archivo. Linux, Windows, Mac, etc utiliza diferentes esquemas de trayectoria, lo que no debe ser el manejo de ellos como cadenas ; en su lugar, utilice las funciones os.path para unir, dividir, etc.

En última instancia, existe una ligera diferencia en el rendimiento en cuanto a temporización, roscado, procesamiento, E/S, pero no son nada t o preocuparse.

La integración de Python y C++ es fácil; el único problema está en el lado de C++, es decir, tendrá que volver a compilar el código de C++.

1

No debería ser un problema. Algunas personas incluso alojan Python + Django en Windows.

6

He estado trabajando Py tanto en Windows como en Linux. Estoy a favor de Linux debido a varias cosas:

  1. virtualenvs - una vez que comience a trabajar con virtualenvs, no hay vuelta atrás.
  2. SHELL - CMD es muy frustrante cuando se ejecutan comandos de python/administración en django. Además, debe agregar python.exe todo el tiempo :).
  3. ipython funciona mejor en Linux.
  4. GeoDjango no funciona en Vista/7 la última vez que revisé. Pasé 3 días tratando de configurarlo. Solo para comparar, configuro el entorno de desarrollo GeoDjango-able en 20 minutos en Linux.
  5. Linux es gratis :)
  6. Aunque no hay un impacto de rendimiento visible o incompatibilidad cuando se trabaja en plataformas multiplataforma, los beneficios de Linux para python superan a Windows mucho. Es mucho más cómodo y definitivamente aumentará tu productividad.
  7. ...

mi humilde opinión Linux es la opción más inteligente para el desarrollo de Python.

1
  1. Qué software es que participaban no funcionará en Windows, la aplicación web real o su entorno de desarrollo.Si te refieres al IDE, entonces no me preocuparía que haya muy buenos IDEs de python para windows, como para la webapp que es otra discusión todos juntos

  2. La afirmación de que "es muy fácil integrar librerías de C++ con python "no es preciso, hay muchas formas de hacerlo y no son fáciles, solo he probado SWIG, pero hay muchas otras alternativas (por ejemplo, Boost.Python), quien sea que no lo crea es tan fácil a poner en marcha con algunas de estas herramientas en un enviromeny ventanas con algo fuera como MinGW o cygwin como al menos TRAGO se construye con * nix en cuenta

13

pero teme que el software no funcione bien en una caja de Windows.

Su software funcionará. El sistema operativo Windows puede no funcionar como lo esperas. Pero eso es Windows, no Python.

Desarrollamos 100% en Windows. Probamos por completo: prueba unitaria, prueba de integración y prueba de aceptación del usuario en Windows. 100%

Implementamos para producción 0% en Windows, 100% en Linux.

Tenemos algunas (menos de 6) diferencias en las pruebas unitarias que son específicas de Windows.

La aplicación no tiene cambios. Funciona con Apache o no. Funciona con SQLite o MySQL.

+4

¿Cuál es el secreto para hacer que las rutas de archivos sean independientes del sistema operativo? Por ejemplo, siempre estoy cambiando entre '/' y 'C: \\' en cadenas. – iX3

+0

@ iX3 'os.path' y el uso de rutas relativas. –

Cuestiones relacionadas