La versione python predefinita nel mio sistema è 2.6.6. Ho installato virtualenv e voglio che il virtualenv predefinito sia 2.7 ogni volta che apro un terminale.Attivare un virtualenv predefinito all'avvio di un terminale (utilizzando bashrc)
Così, ho aggiunto il seguente comando nel file ~/.bashrc:
source $HOME/virtualenvs/py2.7/bin/activate
Ora ogni volta che inizio un terminale facendo clic sull'icona in ambiente Gnome (vale a dire, l'ho già collegati alla macchina e aprire una nuova finestra di terminale (xterm) all'interno di Gnome), il simbolo della shell assomiglia a questo:
(py2.7)(py2.7)
sembra che in qualche modo ho un virtualenv all'interno di un altro virtualenv. Ancora peggio, io può disattivare solo una virtualenv ma non l'altro, come dimostrano qui di seguito:
(py2.7)(py2.7)deactivate
(py2.7)python
Python 2.7.5 (default, Jun 28 2013, 14:53:08)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
(py2.7)deactivate
bash: deactivate: command not found
(py2.7)python
Python 2.7.5 (default, Jun 28 2013, 14:53:08)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Come si può vedere, anche se il pitone di default nel mio sistema è 2.6, mi sono bloccato al virtualenv (2.7)
Se passo a una console virtuale di testo con Ctrl + Alt + F2 e accesso, sembra normale.
(py2.7)[[email protected] ~]$
Posso disattivare e tornare al python predefinito del sistema 2.6.
(py2.7)[[email protected] ~]$ python
Python 2.7.5 (default, Jun 28 2013, 14:53:08)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
(py2.7)[[email protected] ~]$ deactivate
[[email protected] ~]$ python
Python 2.6.6 (r266:84292, Oct 12 2012, 14:23:48)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Qual è il problema? È possibile impostare la virtualenv predefinita su 2.7 ogni volta che apro un terminale in Gnome?
La mia distribuzione Linux è RedHat 6.
bin di acquisizione/attivazione modifica il tuo $ PATH così la sua prima voce è la directory bin/virtual.Questo è tutto ciò che fa; è puramente una comodità. Prova a saltare la direttiva di sourcing e preferisci semplicemente modificare la variabile d'ambiente PATH. Potresti vedere i problemi che stai vedendo se apri il tuo .bashrc due volte ... –
PS. Ho aggiunto la direttiva sourcing nella parte inferiore del mio '.bashrc' e ho iniziato un nuovo bash-terminal e si comporta come previsto (cioè funziona). Testato su Ubuntu 12.04. Cosa intendi con "facendo clic sull'icona nell'ambiente Gnome"? –
hai bisogno di [virtualenvwrapper] (http://virtualenvwrapper.readthedocs.org/en/latest/) nella tua vita –