2011-09-08 3 views
8

È possibile specificare durante la generazione del programma di installazione (o durante l'effettiva installazione) un percorso personalizzato per i moduli Python? A titolo di esempio, diciamo che ho 5 moduli per il quale ho generare un programma di installazione usando:Ignora directory di installazione predefinita per Python bdist Installatore di Windows

c:\>python setup.py bdist 

Tutto viene confezionato in modo corretto, ma quando installo, sono costretto a installare nella site-packages. Devo essere in grado di specificare una directory personalizzata del mio (o della scelta dell'installatore). Come minimo, devo essere in grado di sovrascrivere il valore predefinito in modo che il mio percorso personalizzato appaia come predefinito.

È possibile utilizzare una distribuzione integrata?

risposta

1

Da esecuzione python setup.py --help install:

Options for 'install' command: 
    --prefix        installation prefix 
    --exec-prefix      (Unix only) prefix for platform- 
             specific files 
    --home        (Unix only) home directory to install 
             under 
    --user        install in user site-package 
             '/home/jterrace/.local/lib/python2.7/si 
             te-packages' 
    --install-base      base installation directory (instead of 
             --prefix or --home) 
    --install-platbase     base installation directory for 
             platform-specific files (instead of -- 
             exec-prefix or --home) 
    --root        install everything relative to this 
             alternate root directory 
+1

Grazie L'installer generato da bdist è un eseguibile .Io non sto eseguendo setup.py da una riga di comando. –

+0

eh? intendi bdist o bdist_wininst? – jterrace

+0

sì, bdist_wininst. –

10

Si dovrebbe scrivere setup.cfg cui è possibile specificare le opzioni di installazione (vedi python setup.py install --help uscita) e quindi eseguire python setup.py bdist. Durante la creazione di distro python binario eseguirà l'installazione stupida sotto la sottodirectory "build" con queste opzioni e creerà il programma di installazione da questa installazione stupida. Ad esempio, se si desidera creare bdist che installa le librerie di/some/lib/percorso e script per/some/bin/percorso creare la seguente setup.cfg:

[install] 
prefix=/ 
install_lib=/some/lib/path 
install_scripts=/some/bin/path 

e quindi eseguire python setup.py bdist

1

Credo che la risposta di MaxSin fosse in qualche modo corretta. Ma per utilizzare la sua risposta per il comando: "python setup.py bdist_wininst" si dovrebbe fare in questo modo:

[bdist_wininst] 
prefix=/ 
install_lib=/some/lib/path 
install_scripts=/some/bin/path 

Visto che la sintassi è here:

[command] 
option=value 
... 

edit:

Sembra che questo non funzioni :(non sono sicuro di una possibile altra soluzione

+0

Ho intenzione di provare questo e Ill dare un feedback sul fatto che funzioni per me. – pianist1119