Esiste un file standard di metadati / dipendenza del progetto per Python?

3

Nei miei progetti Node.JS, ho salvato i metadati del mio progetto in package.json : dipendenze, numero di versione, autore, descrizione e così via. In questo modo chiunque può clonare il mio progetto ed eseguire npm install per creare un ambiente locale praticamente identico.

Esiste una cosa del genere per Python? Una sorta di file standard in cui posso salvare i metadati del progetto, incluso un numero di versione e le dipendenze PIP?

    
posta sffc 22.01.2015 - 05:08
fonte

1 risposta

2

Python setuptools è un modulo che usi per scrivere uno script, chiamato setup.py nel directory principale del tuo progetto Python. Ai fini della distribuzione, puoi usare il tuo setup.py per creare un uovo Python. Il link di 9000 fornisce maggiori dettagli su come realizzare l'uovo.

Il primo link contiene una documentazione dettagliata su come scrivere il perfetto setup.py , ma di seguito c'è un esempio completo modificato per un progetto Python che ho scritto qualche tempo fa.

from setuptools import setup

def readme():
    """
    This is a function I wrote to read my README file and return it.
    """
    with open('README.rst') as f:
        return f.read()

setup(name='stackexample',
      version='0.1',
      description='An answer to a question on StackOverflow',
      long_description=readme(), # Get that README.rst
      classifiers=[
          'Development Status :: 3 - Alpha',
          'License :: OSI Approved :: MIT License',
          'Programming Language :: Python :: 3.0'
      ],
      keywords='questions answers programming',
      url='http://stackexchange.com/',
      author_email='[email protected]',
      license='MIT',
      entry_points = {
          'console_scripts' :
          ['stackex=stackexample.command_line:main']
      },
      packages=['stackexample'],
      install_requires=[
          "requests",
          "something_on_pip",
      ],
      test_suite='nose.collector',
      test_requires=['nose', 'nose-cover3'], # Requirements for the test suite
      include_package_data=True,
      zip_safe=False)

Puoi anche utilizzare un file requirements.txt per elencare le dipendenze. Questo post del blog contiene dettagli abbastanza buoni su la differenza tra requirements.txt e setup.py .

    
risposta data 22.01.2015 - 07:33
fonte

Leggi altre domande sui tag