Una cosa che odio di distutils (suppongo che sia he is the evil who does this) è che cambia la linea dello shebang. In altre parole, le più razionali e rispettosi Vars deciso ScritturaNon toccare il mio shebang
#!/usr/bin/env python
viene magicamente trasformato in
#!/whatever/absolute/path/is/my/python
Questo è visto anche con Grok: ho usato grokproject in un virtualenv per iniziare il mio progetto, ma ora non posso più spostare la directory di sviluppo, perché pone percorsi assoluti nella direttiva shebang.
Il motivo per cui lo chiedo è duplice
- voglio spostarlo perché ho iniziato a sviluppare in una directory (Experiments) e ora voglio spostarlo in un percorso corretto, ma non ho potuto fallo. Così ho creato un nuovo virtualenv e grokproject e ho copiato i miei file. Questo risolve il problema, ma lascia la mia curiosità per una soluzione più razionale insoddisfatta. In particolare, se il riferimento all'interprete virtualenv python fosse relativo, il problema non sarebbe stato presente in primo luogo. Conosci il layout di virtualenv e puoi facilmente fare riferimento a virtualenv python.
- Il secondo motivo è che mi piacerebbe poter scpare il virtualenv su un altro computer ed eseguirlo senza problemi. Questo non è possibile se hai percorsi hardcoded.
@Lennart: Perché trovo piuttosto fastidioso che tutta la mia roba installato ha una dipendenza molto forte e dolorosa contro un percorso specifico del mio filesystem, in particolare quando esiste un'alternativa. –
Quindi vuoi muoverlo, solo perché non è ovvio come? :-) Oooookay ... –
@Lennart: aggiunto alla domanda. –