Por favor, muestran la sencilla y hasta la fecha forma estándar para crear un paquete de Python para Python 2.xCómo crear un paquete de Python 2.x - simple caso
preferiría utilizar pip para instalar el paquete luego.
El paquete debe contener una sola clase:
class hello:
def greet(self):
print "hello"
Uno debe ser capaz de hacer lo siguiente después:
pip install my_package-0.1.1....
Y después de usarlo:
from my_package import hello
h = hello.hello()
h.greet()
Lo que estoy pidiendo es:
- La estructura de directorios y archivos
- contenido de los archivos
- comando para crear el archivo del paquete distribuible
- comando para instalar el paquete desde el archivo del paquete distribuible (utilizando preferentemente PIP)
Hay son varios los howtos que encontré pero todavía no estoy seguro de cómo se manejaría este caso muy simple y simplificado (sin paquetes anidados, eliminación de todos los archivos y características que pueden omitirse para el caso más simple) y cuál es la forma moderna para hacerlo.
Me gustaría que esta pregunta ingrese al estado wiki comunitario, por lo que no obtendrá ningún punto y daré suficiente tiempo y marcaré una respuesta aceptada después de varios días, también teniendo en cuenta los votos y los comentarios.
Editar:
que tienen un primer ejemplo de ejecución que quiero compartir, que utiliza la respuesta de Marius Gedminas por ello. No contiene todo lo que debería estar allí, pero funciona, por lo que puede demostrar el núcleo del proceso técnico. Para agregar más partes necesarias, lea la respuesta de Marius a continuación.
estructura de directorios:
MyProject/
setup.py
my_package.py
README.txt
MANIFEST.in
setup.py:
from setuptools.import setup
setup(name='MyProject',
version='0.1',
py_modules=['my_package'])
my_package.py:
class hello:
def greet(self):
print "hello"
MANIFEST.in:
include *.txt
para crear el paquete de esta carpeta, vaya a la carpeta y ejecutar MiProyecto:
$ python setup.py sdist
Esto creará un archivo MyProject-0.1.tar.gz
en una subcarpeta dist/
. Copie este archivo a una carpeta en la máquina de destino.
En el equipo de destino ejecuta este comando en la carpeta que contiene MyProject-0.1.tar.gz
:
sudo pip install MyProject-0.1.tar.gz
Puede ser necesario cerrar la sesión y volver a iniciar sesión en la máquina objetivo ahora, para que se encontrará el paquete. Después se puede probar el paquete en el equipo de destino utilizando el intérprete de Python:
$ python
>>> import my_package
>>> h = my_package.hello()
>>> h.greet()
hello
>>>
Una vez que esto funciona por favor, no olvide añadirlo a los otros contenidos necesarios, véase la respuesta de Marius a continuación.
El objetivo de esta pregunta es para elegir un enfoque moderno y luego quitar casi todo lo que se puede quitar para que funcione. – mit