Lors du développement en équipe, il existe des cas où vous souhaitez que d'autres personnes utilisent vos propres outils, ou vous souhaitez intégrer vos propres modules dans votre projet. Dans un tel cas, «l'emballage» est pratique.
J'écrirai plus tard comment héberger secrètement un package dans un référentiel privé.
(Une addition) Je suis désolé que cela puisse être
L'explication suivante sera écrite en supposant la structure suivante. Veuillez cracher la relation des exigences avec pip freeze. Le nom du projet est "uhouhoapp"
def main():
print('HelloWorld')
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from setuptools import setup, find_packages
def _load_requires_from_file(filepath):
return [pkg_name.rstrip('\r\n') for pkg_name in open(filepath).readlines()]
def _install_requires():
requires = _load_requires_from_file('requirements.txt')
return requires
def _test_requires():
test_requires = _load_requires_from_file('test-requirements.txt')
return test_requires
def _packages():
return find_packages(
exclude=[
'*.tests',
'*.tests.*',
'tests.*',
'tests',
'*.yaml'
],
)
if __name__ == '__main__':
description = ''
setup(
name='uhouhoapp',
version='1.0.0',
description=description,
author='UhoUho Inc.',
author_email='[email protected]',
classifiers=[
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Development Status :: 3 - Alpha',
'License :: Confidencial',
'Intended Audience :: Developers',
'Natural Language :: English',
'Operating System :: POSIX'
],
packages=_packages(),
install_requires=_install_requires(),
tests_require=_test_requires(),
test_suite='nose.collector',
include_package_data=True,
zip_safe=False,
entry_points="""
[console_scripts]
uhouhoapp = uhouhoapp.main:main
""",
)
Si vous appuyez sur la commande suivante, mon module sera enregistré.
$ pip install -e .
Obtaining file:///Users/hiroyuki/test22
Installing collected packages: uhouhoapp
Running setup.py develop for uhouhoapp
Successfully installed uhouhoapp-1.0.0
Si vous souhaitez l'exécuter, procédez comme suit. Si vous êtes un bon commandant, vous pouvez vous débarrasser de la partie console_scripts de setup.py.
$ uhouhoapp
HelloWorld
Recommended Posts