2016-02-19 34 views
7

Ho scritto un modulo python che dipende da openpyxl. Voglio che openpxyl sia installato come dipendenza automaticamente usando setuptools. Ho letto che il modo corretto per farlo è quello di includere le seguenti nello script setup.py:python non installa le dipendenze elencate in install_requires di setuptools

setup(name='methpipe', 
    version=find_version("lala", "__init__.py"), 
    description='Utilities', 
    author='Jonathan T', 
    author_email='[email protected]', 
    url='https://git.com...', 
    packages=find_packages(), 
    install_requires=[ 
     'openpxyl = 2.3.3', 
    ], 
    scripts=["bin/submit_run_full.py"], 
    cmdclass=dict(install=my_install) 
) 

Così ho confezionato il mio modulo con python setup.py sdist, ha preso il file * .tar.gz, decompresso, e quindi ha funzionato python setup.py install e openpyxl NON sta installando !!!

Cosa sto facendo di sbagliato qui?

+0

non c'è alcun errore nel registro di installazione? – JulienD

+0

Penso che tu voglia fare 'openpyxl == 2.3.3' –

risposta

1

Provare a fornire la propria dipendenza sia in install_requires e setup_requires.

seguito da documentazione setuptool s' a https://pythonhosted.org/setuptools/setuptools.html

setup_requires

una stringa o lista di stringhe che specificano quello che altre distribuzioni devono essere presenti in modo che lo script di installazione da eseguire. setuptools tenterà di ottenerli (anche fino a scaricarli tramite EasyInstall) prima di elaborare il resto dello script di installazione o dei comandi. Questo argomento è necessario se si utilizzano le estensioni distutils come parte del processo di compilazione; ad esempio, le estensioni che elaborano gli argomenti di setup() e li trasformano in file di metadati EGG-INFO .

(Nota: i progetti elencati setup_requires non saranno automaticamente installato sul sistema in cui lo script di installazione è in esecuzione Sono semplicemente scaricato nella directory ./.eggs se non sono a livello locale disponibili già.. Se si desidera loro di essere installati, oltre ad essere disponibili quando lo script di installazione viene eseguito, si dovrebbe aggiungere alla install_requires e setup_requires.)