Io uso Jedi per il completamento automatico di Python in Emacs, ma non è una dipendenza del mio codice, quindi non voglio inserirlo nel mio requirements.txt
. (Altri sviluppatori non può utilizzare un plug-in editor di Jedi, e non è certamente necessario quando schiero a Heroku.)È possibile rendere virtualenvs riconducibili ai pacchetti utente anziché ai pacchetti di sistema?
Ma Jedi devono essere disponibili dal mio virtualenv al fine di funzione, ovvero se non ci riesco
import jedi
non funziona.
C'è un buon modo per installare Jedi utente globalmente tale che sia disponibile in tutte le mie virtualenvs?
ho penso quello che voglio è
- installare Jedi in
~/.local/lib/python2.7/site-packages/
conpip
's--user
flag, poi a - creare il mio virtualenv usando l'equivalente di the
--system-site-packages
flag, ma per pacchetti utente invece di pacchetti di sistema .
La mia soluzione attuale è a pip install jedi
in ciascuna delle mie virtualenvs. Quindi quando aggiungo nuove dipendenze I pip install foo
, pip freeze > requirements.txt
, rimuovi manualmente jedi
e alcune altre cose dal file prima di eseguire il commit. Ovviamente, questo è dispendioso in termini di tempo e incline agli errori.
Qualcuno ha una soluzione migliore?
Perché non lo si installa nei pacchetti globali del sito? Sarebbe anche utile sapere quale plugin Jedi per Emacs stai usando. –
@DaveHalter, sto usando ['emacs-jedi'] (https://github.com/tkf/emacs-jedi) intalled [via MELPA] (https://github.com/milkypostman/melpa/blob/ master/ricette/jedi). Non installo Jedi globalmente e ripenso a questo perché non voglio che i miei virtualenv vedano nessuno dei tanti pacchetti globali che ho installato ... Se sono autonomi posso essere più sicuro di avere tutte le mie dipendenze elencate in 'requirements.txt'. – Chris