Enchinga: Habilitar Proyecto Django en IDE en línea [CodeAnywhere.com]

Un ejercicio que tenía pendiente era el habilitar una ambiente utilizando CodeAnywhere.com, en esta ocasión para un proyecto Django (Python).

 

La razones por las cuáles quiero hacer esto en CodeAnywhere.com son las siguientes:

  • Servicio con capa gratis. Con características generosas, para iniciar es más que suficiente. (no es necesaria tarjeta de crédito).
  • Terminal Linux. Acceso a terminal en sistema Ubuntu.
  • IDE Online. Trabajar desde donde quieras, cuando quieras.
  • Acceso a repositorios git.
  • Múltiples “stacks” preconfigurados (más detalles después).
  • Acceso a un ambiente de desarrollo en línea. Solo es necesario un navegador web moderno.

 

Existen otros servicios similares a CodeAnywhere.com. Excluyendo Cloud9.io, ninguno de los otros servicios que he analizado me funciona. CodeAnywhere ofrece los ambientes que resultan ser “containers” tipo Docker, pero sin llegar a hacer nada con éste último.

 

Siendo contenedores administrados por CodeAnywhere, no son sistemas Linux completamente, así que algunas cosas requieren un trabajo extra durante etapas de configuración. Después de eso, tendremos un ambiente para un proyecto django tal cual estamos acostumbrados, incluso con ambiente virtual.

 

Plan de pasos:

  1. [CodeAnywhere] Crear cuenta en CodeAnywhere.com.
  2. [CodeAnywhere] Crear Workspace.
  3. [CodeAnywhere] Configurar Container.
  4. [Linux] Actualizar sistema Ubuntu.
  5. [Linux] Instalar python 3.6.6 desde los fuentes.
  6. [Linux] Actualizar pip.
  7. [Linux] Instalar virtualenv.
  8. [Linux] Crear carpeta de trabajo y python Virtual Environment.
  9. [Django] Crear proyecto Django.
  10. [Django] Ejecutar y validar proyecto Django.

 

Acá el video por si no quieres leer (37 mins):

 

Pasos:

#1: [CodeAnywhere] Crear cuenta en CodeAnywhere.com.

Ir a www.CodeAnyhwere.com y regístrate.

 

#2: [CodeAnywhere] Crear Workspace. Tú lo haces.

 

#3: [CodeAnywhere] Configurar Container. Tú lo haces.

 

En la página principal de CA, haz clic en enlace EDITOR.

 

#4: [Linux] Actualizar sistema Ubuntu.

 

Antes que nada, actualizar el sistema:

$ sudo apt-get update && sudo apt-get upgrade -y

 

#5: [Linux] Instalar python 3.6.6 desde los fuentes.

 

Existen al menos un par de métodos para instalar Python 3.6 en un ambiente Linux. Debido a la mencionada restricción de containers administrados por CodeAnywhere, utilizaremos el instalar Python 3.6 desde el código fuente.

 

Básicamente es descargar el código fuente de la versión de Python de nuestro interés (python 3.6), compilarla e instalarla. Manos a la obra.

 

En una terminal, ejecutar los siguientes comandos:

$ wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz

$ tar -xvf Python-3.6.6.tgz

$ cd Python-3.6.6

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev

$ sudo ./configure --enable-loadable-sqlite-extensions --enable-optimizations

$ sudo make -j8

$ sudo make install

 

#6: [Linux] Actualizar pip.

$ sudo -H python3.6 -m pip install --upgrade pip

 

#7: [Linux] Instalar virtualenv.

$ sudo -H pip3 install virtualenv

 

#8: [Linux] Crear carpeta de trabajo y python Virtual Environment.

$ ls

Python-3.6.6

$ sudo -H rm -rf Python-3.6.6

$ mkdir dcn

$ cd dcn

$ which python3.6

$ sudo -H virtualenv -p /usr/local/bin/python3.6 venv

$ source venv/bin/activate

$ deactivate

$ source venv/bin/activate

 

#9: [Django] Crear proyecto Django.

$ sudo -H pip3 install django

$ sudo -H pip3 freeze > requirements.txt

$ sudo -H django-admin.py startproject cryptonews_project

$ cd cryptonews_project/

Antes de continuar, se debe aplicar cambios en el archivo config del container. El archivo debería verse así ahora:

{

    "run": [

        {

            "name": "default",

            "default": "true",

           

            //    current working dir

            "cwd": "~/workspace",

           

            //    run commands list

            //    example:

            //        "python app.py"

            "commands": [

                //    NOTE: replace line below

                "source dcn/venv/bin/activate",

                "sudo -H python3.6 dcn/cryptonews_project/manage.py runserver 0.0.0.0:8022"

            ],

           

            //    environment variables

            //    example:

            //        "PYTHONPATH": "~/Python"

            "environment": {

        "PYTHONPATH": "/usr/local/bin/python3.6"

            },

           

            //    if "preview" is set, it will open the link in a

            //    preview panel after setting environment variables

            //    and all commands have been executed

            "preview": {

                "url": "http://{{DOMAIN}}:{{PORT}}/",

                "type": "external"

            }

        }

    ],

    "find_in_files": {

        "ignore": [

            //    file types to ignore in search

            ".git", ".svn"

        ]

    }

}

 

#10: [Django] Ejecutar y validar proyecto Django.

$ sudo -H python3.6 manage.pyrunserver

$ which python3.6

$ cd cryptonews_project/

$ sudo -H vi settings.py

 

Escribir:

ALLOWED_HOSTS = ['djangocryptonews-gpalazuelosg.codeanyapp.com',]

 

Ahora intentar acceder al portal usando la siguiente url:

http://djangocryptonews-gpalazuelosg.codeanyapp.com:8022/

 

Y aquí ya confirmamos que sí podemos tener un ambiente de desarrollo en línea en CodeAnywhere:

 

Fin…

MANTENTE INFORMADO

Subscribete a mi lista de correo y recibe mis actualizaciones.

Gracias por subscribirte!

Ups! algo salió mal en el envío, intenta nuevamente.

Leave a Reply

MANTENTE INFORMADO

Subscribete a mi lista de correo y recibe mis actualizaciones.

Gracias por subscribirte!

Ups! algo salió mal en el envío, intenta nuevamente.