2012-07-05 16 views
15

Hace bastante tiempo que trabajo en Python y comencé a leer el documento para Django, sin embargo, no puedo negar el hecho de que la mayoría de los videos tutoriales que usualmente muestran Linux es el sistema operativo elegido. He ignorado esto principalmente, pero empecé a encontrarme con algunos problemas con personas que usan comandos como "toque", para los cuales no tengo idea de cuál es el equivalente en el símbolo del sistema de Windows 7. He oído hablar de New-Item en Power Shell, pero está desordenado y temo que esta "caza equivalente" pueda aparecer una y otra vez ...Python/Django development, windows or linux?

Empecé a preguntarme por qué la mayoría de la gente usaba Linux con Python, sería una buena jugada (saber que mi conocimiento de Linux es completamente nulo) para aprender a usar Linux con fines de desarrollo? ¿Me permitiría ser más eficiente en el desarrollo con Python en general? ¿Sería posible enumerar los beneficios de hacerlo?

+0

Un lugar mejor para esta pregunta es: http://programmers.stackexchange.com/ – sahid

Respuesta

20

que utiliza Windows para bastante tiempo para el desarrollo de Django, pero finalmente dimos cuenta de que Linux es simplemente el mejor camino a seguir.Aquí hay algunas razones por qué:

  • algunos paquetes de Python no pueden ser instalados en absoluto o correctamente en Windows o se va a crear un montón de problemas para los que así lo indiquen
  • si necesita implementar su aplicación Django se tiene más sentido usar un sistema con sabor Unix, simplemente porque es 99% probable que el entorno de implementación sea el mismo. Hacer una ejecución en seco en su máquina local con la misma configuración le ahorrará mucho tiempo más adelante + aquí se le "permite" cometer errores.
  • Si sus aplicaciones se vuelven más complejas, es más fácil en Linux obtener las dependencias requeridas, ya sean extensiones, bibliotecas, etc. En Windows, usted termina buscando el sitio correcto para descargar todo y pasar por algunas molestias de instalación y configuración . Me llevó mucho tiempo buscar algunas cosas específicas a veces. En Linux, a menudo solo es un "apt-get" (o similar) y listo.
  • ¿Mencioné que todo es más rápido de obtener e instalar en Linux?

Por supuesto, si su aplicación es simple y no necesita preocuparse por la implementación, entonces Windows está bien.

+0

Estoy de acuerdo con usted en que Linux es mucho más amigable para los desarrolladores, pero quiero cambiar a Windows 10 para Python Django, Windows ha introducido " Power Shell "hará la diferencia? Una razón principal para pasar a Windows es la edición comunitaria de Visual Studio y la plataforma Azure. Pero todavía me pregunto si el desarrollo será tan sencillo como Linux allí. –

+0

No puedo responderle allí, pero PowerShell no es lo mismo que un terminal de Linux. Por lo que escuché no es reemplazable. Aún tiene los problemas que mencioné anteriormente (independientemente de qué terminal use). Al final puedes probarlo fuera de curso. –

+0

Creo que el punto acerca del despliegue es discreto. Si planea implementar su aplicación en Windows, entonces, por supuesto, use Windows para desarrollar. Si planea implementarlo en Linux, use Linux o al menos una versión de UNIX para el desarrollo local. Esto le ayuda a abordar cualquier problema de dependencia específico de la plataforma antes que tarde, y reduce la posibilidad de que aparezcan errores específicos de la plataforma en el control de calidad o la producción cuando sea más costoso corregirlos. –

0

django está escrito en python puro, por lo que usar Windows + Eclipse + PyDev para el desarrollo es suficiente.

si realmente desea seguir a los chicos geniales usando algunos comandos de Linux, luego tener cygwin o mingWin instalados y establecer la directiva PATH to BIN del sistema. Luego, puede usarlos (incluya su touch).

Linux es la mejor opción para la implementación de un proyecto django, donde puede compilar/instalar/configurar fácilmente algunas cosas geniales como nginx, uWSGI, mod_wsgi, Apache2 y muchas extensiones útiles de Python C.

Otra razón para usar Linux es que los servidores privados virtuales, que se usan para alojar proyectos, son más propensos a admitirlo.

5

Aunque hay algunas ventajas en el uso de Linux para el desarrollo de Python (por ejemplo, algunas bibliotecas solo funcionan en Linux); no hay nada que le impida usar Windows para el trabajo django; Lo uso todos los días y nada tiene que surgir.

El IDE adecuado con el que se sienta cómodo contribuirá en gran medida a que su experiencia de desarrollo sea más agradable. Mucha gente usa Pydev con Eclipse; pero yo prefiero PyCharm

Muchos de los tutoriales le mostrará un escritorio Linux o Mac (y la cáscara) y puedes conseguir los comandos equivalentes (como touch, ls y otros) mediante la instalación de unixtools - que son versiones nativas de común herramientas de Unix.

Debe marcar this website que tiene instaladores de Windows para las bibliotecas comunes de Python.

2

Depende del sistema operativo que más le guste. Puede usar Aptana 3 con pydev (incluido) para el desarrollo.

Al desarrollar recuerde sobre el uso de "os" python lib para rutas a directorios, para que su aplicación funcione correctamente en Windows y Linux.

Por ejemplo:

PROJECT_DIR = os.path.dirname(os.path.abspath(__file__)) 

MEDIA_ROOT = os.path.join(PROJECT_DIR, 'site_media') 
1

Normalmente uso OSX en mi escritorio, pero uso Linux para Python porque así es como se desplegará. Específicamente, uso Ubuntu Desktop en una máquina virtual para desarrollar aplicaciones Python y uso Ubuntu en el servidor para implementarlas. Esto significa que mi comprensión de los requisitos/dependencias de la biblioteca y el módulo es 100% transferible al servidor cuando estoy listo para implementar la aplicación.

Si utilicé OSX (o Windows) para desarrollar aplicaciones de Python, tendría que lidiar con dos métodos diferentes para manejar requisitos y dependencias: es demasiado trabajo.

Mi sugerencia: use VMWare Player (es gratis) y busque una máquina virtual Ubuntu para comenzar a aprender. No es demasiado complicado y en realidad es bastante divertido.