Archivio

Posts Tagged ‘sublimetext’

SublimeText2 e Virtual Environment

24 Aprile 2018 Commenti chiusi

Stiamo utilizzando sublime text 2 per scrivere codice.
Il nostro complicatissimo codice è il seguente:

# example python 2

if __name__ == '__main__':
    print "Python 2 example"

Per eseguirlo accediamo al menu Tools -> Build-systems e scegliamo Python
Ora premendo CTRL-B o Tools -> Build il “programma” va in esecuzione.


SUpponiamo di voler utilizzare python 3; creiamo nella stessa directory un virtual environment (ad es. venv3) e modifichiamo il nostro codice in

# example python 3
class A:
	pass

if __name__ == '__main__':
    a = A()
    print("Python 3:", a.__mro__)

Lo eseguiamo e come è giusto che sia, riceviasmo un errore inquanto Sublime Text continua ad utilizzare il suo interprete Python, selezionato in precedenza dal menu Tools -> Build-systems.

Per poter utilizzare un virtual environments è necessario salvare il progetto con nome .
Nel caso specifico, il virtualenv è stato creato nella stessa directory del progetto.
Successivamente editiamo il file .sublime-project generato in automatico da Sublime Text ed inseriamo il seguente contenuto:

{
    "folders":
    [
        {
            "path": ".",
            "file_exclude_patterns": ["*.pyc"]
        }
    ],

    "build_systems":
    [
        {
            "name":"Virtualenv 3.6",
            "working_dir": "${project_path:${folder}}/",
            "cmd":
            [
                "${project_path}/<nome_mio_venv>/Scripts/activate"
            ],
            
            "cmd":
            [
                "${project_path}/<nome_mio_venv>/Scripts/pythonw",
                "$file"
            ]
        }
    ]
}

la chiave “folders” contiene la path del mio progetto ed è possibile scriverla come path assoluta, nella forma “/C/PATH_TO_PROJECT”

la chiave “build_systems” contiene una lista di dizionari.
Ogni dizionario rappresenta il build-system che potremo selezionare dal menu tools > Build-Systems
Nel nostro caso le chiavi fondamentali del dizionario sono:
“name”: il nome che apparirà nel menu Tools > Build-systems.
“working_dir”: la directory dove stiamo lavorando
“cmd”: il comando che viene eseguito.

L’ordine dei comandi cmd è importante, nel nostro caso attiviamo il virtual environment e poi, apriamo il file con l’eseguibile python desiderato (python o pythonw).

Fatto questo, selezioniamo l’interprete desiderato dal solito menu
Tools -> Build-systems, nel nostro caso
“Virtualenv 3.6” ed eseguiamo il codice con CTRL-B (o Tools -> Build).

Categorie:python Tag: ,