2016-04-28 5 views
1

J'apprends à utiliser Vagrant avec un cours Udacity, et on nous demande d'exécuter un script Python database_setup.py dans notre machine virtuelle. Pour cela, j'ai créé un dossier "udacityproject" dans mon dossier vagabond sur mon ordinateur. J'ai enregistré mon fichier database_setup.py là-bas.Exécuter un script python dans le vagabond

maintenant sur Bash, je ne

$ vagrant up 
$ vagrant ssh 
$ cd udacityproject 
$ python database_setup.py 

L'interface retourne "python: ne peut pas ouvrir le fichier 'de database_setup.py': [Errno 2] Aucun fichier ou répertoire".

Ce doit être une erreur stupide, mais je ne peux pas voir ce que je fais mal ... Un sujet similaire a été ouvert ici (Run Python script in Vagrant) mais les réponses ne m'aident pas.

+2

Est-ce le fichier exécutable? exécutez 'ls -l' et vérifiez les permissions sur ce fichier. –

+0

Possible duplicata de http://stackoverflow.com/questions/15725273/python-oserror-errno-2-no-suc-file-or-directory – Inian

Répondre

3

Le dossier vagrant sur votre ordinateur, qui contient le fichier VagrantFile, est le dossier /vagrant sur votre vm (Il est sous /). Ce n'est pas votre répertoire personnel. Après vagrant ssh vous êtes connecté dans le répertoire personnel de l'utilisateur vagabond. C'est /home/vagrant/.

$ vagrant ssh 
$ pwd 
/home/vagrant 

L'arbre ressemble à ça:

/root 
/tmp 
/usr 
/var 
/home 
    |-- vagrant # <-- You are here after logging 
/vagrant 
     |-- udacityproject 
         |-- database_setup.py # <-- Your script is here 
... 

Pour exécuter votre script, vous devez aller à /vagrant

$ cd /vagrant 

Avec ls * vous pouvez vérifier si votre fichier existe. Maintenant, allez dans votre dossier créé et exécutez votre script

$ cd udacityproject 
$ python database_setup.py 

Ou tout simplement faire cela depuis le début:

$ vagrant ssh 
$ python /vagrant/udacityproject/database_setup.py 
+0

Merci beaucoup, ça a marché parfaitement! Tout est clair maintenant :) – florvdl