web-dev-qa-db-fra.com

Comment créer un paquet deb à partir d'un répertoire de python projet qui a également besoin d'un autre paquet / commande pour fonctionner?

Comment créer un paquet deb pour le distribuer à partir d'un répertoire de python project sur Ubuntu 16.04?

Je l'ai cherché et le plus proche que j'ai trouvé est this

Ce que j’ai actuellement, c’est un répertoire composé d’un serveur REST écrit en python. Je souhaite convertir ce répertoire en un paquet deb afin que la personne qui l'obtient puisse facilement l'installer sur son ordinateur pour exécuter le serveur REST.

Le détail de la structure de répertoire est comme ci-dessous

server
  |--api-----------------
  |                |--__init__.py
  |--main.py       |--v1---------------
  |                                |---__init__.py
  |--__init__.py                   |---resources-------
                                                |
                                                |---a.py
                                                |---b.py
                                                |---tasks.py

Normalement, j'exécute ce serveur en tant que python main.py après avoir exécuté un ouvrier celery en tapant celery -A server.api.v1.resources.tasks worker --loglevel=INFO

Ce que je veux demander maintenant, est-il possible de convertir ce projet en deb paquets à distribuer? Étant donné que j'utilise également celery worker pour la prise en charge du serveur, est-il possible de convertir ce répertoire avec la commande destinée à l'opérateur? Ce que je veux dire ici, c'est que quand quelqu'un exécute le paquet deb sur son ordinateur Ubuntu, le serveur peut fonctionner avec le travailleur.

6
Fang

Essayez fpm .

Installation à partir des documents cités:

$ Sudo apt-get install Ruby ruby-dev rubygems build-essential 
% Sudo gem install --no-ri --no-rdoc fpm 

Après l'installation de fpm:

$ cd server
$ fpm -s python -t deb .

Quelques personnalisations pour votre situation particulière. Vous pouvez ajouter "céleri" à install_requires sur setup.py. Les options fpm --python-install-bin et --python-install-lib peuvent également être utilisées pour spécifier où les fichiers binaires et de bibliothèque doivent aller. Une documentation supplémentaire sur la source python est localisée ainsi .

Vous devrez peut-être également créer une sorte de script personnalisé pour lancer ceci.

1
rocky