PDF de programación - hd magazine 06 201304

Imágen de pdf hd magazine 06 201304

hd magazine 06 201304gráfica de visualizaciones

Publicado el 10 de Julio del 2017
1.102 visualizaciones desde el 10 de Julio del 2017
1,3 MB
52 paginas
Creado hace 11a (22/04/2013)
AÑO ----------- 0
NÚMERO -------- 6
FECHA: 2013-04-22

#6

“FARAÓN”

HD Hackers &
+

DEVELOPERS

Magazine digital de distribución
mensual sobre Software Libre, Hacking y Programación
para profesionales del sector de Tecnologías de la Información

Staff

Eugenia Bahit
Indira Burga
María José Montes Díaz
Milagros Infante Montero
Sergio Infante Montero

Arquitecta GLAMP & Agile Coach

Ingeniera de Sistemas

Técnica en Informática de Gestión

Est. Ingeniería de Sistemas

Ingeniero de Software

Hackers & Developers Magazine se distribuye bajo una licencia Creative Commons Atribución
NoComercial CompartirIgual 3.0 Unported . Eres libre de copiar, distribuir y compartir este material.
FREE AS IN FREEDOM!

HD

Hackers &
DEVELOPERS
+

#6

Hackers & Developers Magazine, es
una iniciativa sin fines de lucro
destinada al fomento y difusión de
las tecnologías libres presentes o
futuras, bajo una clara óptica
docente y altruista, que resulte de
interés técnico y/o científico a
profesionales
de
sector
Tecnologías de
Información.
Hackers & Developers Magazine se
sostiene económicamente con el
apoyo de
comunidad, no
recibiendo subvención alguna de
ninguna empresa, organización u
organismo
Gobierno.
Necesitamos de tu apoyo para
poder mantener este proyecto.

del
la

de

la

Ayúdanos a continuar
con este proyecto
Puedes
hacer un donativo ahora,
de 10, 15, 25, 50, 100 o 150 USD
para ayudar a que Hackers &
Developers Magazine pueda seguir
publicándose de forma gratuita,
todos los meses. Puedes donar con
PayPal o Tarjeta de Crédito a través
del siguiente enlace:
www.hdmagazine.org/donar

CON TU DONACIÓN DE USD 150
RECIBES DE REGALO,

UNA FUNDA DE

NEOPRENE PARA TU
ORDENADOR PORTÁTIL

VALUADA EN USD 25.-
(Origen: Estados Unidos)

“Hacker es alguien que disfruta
jugando con la inteligencia”

Richard Stallman
Free Software, Free Society
(Pág. 97), GNU Press 2010-2012

En esta edición:
Distribuyendo tus aplicaciones Python en PyPI.....................................4
Manual de Perl (Parte IV)....................................................................10
Equipos Ágiles: Parte II........................................................................15
Permiso denegado...............................................................................20
Pásate a GNU/Linux con ArchLinux: NGiNX+PHP+MariaDB..................25
Refactoring: otra práctica de la Programación eXtrema......................31
Configurando GitWeb en Ubuntu Server .............................................39
Draw.io: diagramas para tus proyectos................................................43
Automatizando tus aplicaciones con Cron...........................................47

Y LAS SECCIONES DE SIEMPRE:
ASCII Art...................................................................... Pág. 51
Este mes: Faraón por JGS
Zona U!........................................................................ Pág. 52
La comunidad de nuestros lectores y lectoras

Créditos

Hackers & Developers Magazine es posible gracias al compromiso de:

Responsable de Proyecto

Eugenia Bahit

Responsables de Comunicación

Indira Burga (Atención al Lector) - Milagros Infante (Difusión)

Staff

Eugenia Bahit

Arquitecta GLAMP & Agile Coach

www.eugeniabahit.com

Indira Burga

Ingeniera de Sistemas
about.me/indirabm

Milagros Infante Montero

Estudiante de Ingeniería en Sistemas

www.milale.net

María José Montes Díaz

Técnica en Informática de Gestión

archninfa.blogspot.com.es

Sergio Infante Montero
Ingeniero de Software

neosergio.net

Hackers & Developers Magazine agradece a los portales que nos ayudan con la difusión del proyecto:

Difusión

www.debianhackers.net

www.desarrolloweb.com

www.desdelinux.net

E-mail de Contacto:
[email protected]

Web Oficial: www.hdmagazine.org

Cuenta Twitter Oficial: @HackDevMagazine

Hackers & Developers Magazine – Año 0, Número 6 4

Distribuyendo tus
aplicaciones Python
en PyPI

N
O
H
T
Y
P

Si desarrollaste un módulo o aplicación Python,
distribuirlo en el Python Package Index (PyPI) y
dejarlo disponible a solo un “pip install” de cualquier
usuario, es una tarea sumamente sencilla que en unos
pocos minutos puedes aprender. Entérate cómo
distribuirlas leyendo este artículo.

Escrito por: Eugenia Bahit (Arquitecta GLAMP & Agile Coach)

Eugenia es Arquitecta de Software, docente instructora de tecnologías
GLAMP (GNU/Linux, Apache, MySQL, Python y PHP) y Agile coach (UTN)
especializada en Scrum y eXtreme Programming. Miembro de la Free
Software Foundation e integrante del equipo de Debian Hackers.

Webs:
Cursos de programación a Distancia: www.cursosdeprogramacionadistancia.com
Web personal: www.eugeniabahit.com

Redes sociales:
Twitter / Identi.ca: @eugeniabahit

E

l Python Package Index, más conocido por sus siglas PyPI, es el repositorio oficial
de aplicaciones desarrolladas en Python, que permite a programadores de todo el
mundo distribuir sus creaciones de forma eficiente y muy simple.

Las aplicaciones disponibles en http://pypi.python.org, pueden ser instaladas por los
usuarios, mediante un simple pip install nombre-del-paquete y para que puedas
distribuir tus aplicaciones a través de PyPI, solo es necesario prepararlas seguiendo
unos pocos pasos como veremos a continuación.

Preparar tu aplicación
Lo más importante es contar con una carpeta para alojar los módulos y paquetes de la
aplicación. Esta carpeta, contará con algunos archivos estándar para su distribución. Una
estructura de archivos y directorios apropiada, podría ser como la siguiente:

MiAplicacion/ Directorio de la aplicación
|_ paquete_1/ Paquete (parte de la app)
| |_ __init__.py
| |_ …
|_ paquete_2/
| |_ __init__.py
| |_ …
|_ docs/ Documentación
| |_ …
|_ tests/ Test Unitarios
| |_ …
|_ README.txt Descripción de la aplicación
|_ LICENSE.txt Copia de la licencia http://www.gnu.org/licenses/gpl.txt
|_ MANIFEST.in Lista de archivos que formarán parte del paquete
|_ setup.py Archivo de instalación

El archivo README.txt

En principio, aclarar que la extensión .txt se utiliza en los paquetes para otorgar
compatibilidad con sistemas operativos privativos no basados en *nix, pero en sistemas
GNU/Linux, dicha extensión, carece de significado. Sin embargo, es un estándar a la hora
de distribuir paquetes Python a través de PyPI.

En este archivo se puede colocar cualquier información relativa a la aplicación,
preguntas frecuentes, modos de uso e implementación, etc. La misma será aquella que
PyPI, muestre en la página del paquete:

Este archivo, así como la documentación que se incluya en docs/*.txt puede escribirse
aplicando el formato reST.

Una guía rápida de reST puede obtenerse en:

http://docutils.sourceforge.net/docs/user/rst/quickstart.html

El archivo LICENSE.txt

Básicamente se trata de una copia del texto de la licencia con la que se distribuye el
Software o paquete. Para distribuir el paquete como Software Libre, recomiendo utilizar
la licencia GPL en su versión 3.0 cuyo texto completo puede obtenerse en
http://www.gnu.org/licenses/gpl.txt

©2013 HDMagazine.org – Creative Commons Atribución NoComercial CompartirIgual 3.0 Unported

Pág. 5

Recordad que la licencia GPL v 3.0, es la recomendada por la Free Software
Foundation1 para la distribución de Software Libre, sea éste de uso comercial o no.

El archivo MANIFEST.in

Éste, es el que almacena el listado de archivos que componen el paquete. El listado de
archivos puede colocarse “a mano” (es decir, archivo por archivo) o se pueden utilizar
instrucciones como include expresión.

Para un paquete con la siguiente estructura:

PythonPrintr/
|_ printr/
| |_ __init__.py -- módulo que contiene la función printr()
|_ docs/
|_ tests/
|_ README.txt
|_ LICENSE.txt
|_ MANIFEST.in
|_ setup.py

El archivo MANIFEST.in podría verse como el siguiente:

include docs/*.txt
include *.txt
include printr/*.py

Algunas instrucciones frecuentes que podrían indicarse en un archivo MANIFEST.in, son:

include
Archivos a incluir en el paquete

exclude
Archivos a ignorar en el paquete

recursive-include
Incluye archivos de forma recursiva

recursive-exclude
Ignora archivos de forma recursiva

Otras instrucciones como global-include, global-exclude, graft y prune también se
encuentran disponibles.

1

http://www.fsf.org/

©2013 HDMagazine.org – Creative Commons Atribución NoComercial CompartirIgual 3.0 Unported

Pág. 6

El archivo setup.py

Este es el archivo clave. Contendrá toda la información sobre el paquete que deseas
distribuir.

Un ejemplo de formato de archivo setup.py se verá como el siguiente:

from distutils.core import setup

setup(
name="PythonPrintr", # Nombre de la app (CamelCase)
version="0.3", # Versión
author="Eugenia Bahit", # Nombre del Autor
author_email="[email protected]", # E-mail del autor
packages=["printr"], # Paquetes a incluir
url="http://www.python-printr.org", # URL de la app
license="GPL v3.0", # Licencia

# Descripción corta
description="Module that allows to emulate the print_r() PHP function",

long_description=open('README.txt').read(), # Descripción larga

# Selección de categorías que pueden encontrarse en:
# https://pypi.python.org/pypi?:action=list_classifiers
classifiers=[
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
  • Links de descarga
http://lwp-l.com/pdf5082

Comentarios de: hd magazine 06 201304 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad