我正在学习如何在Udacity课程中使用Vagrant,并且我们被要求在我们的虚拟机中运行Python脚本database_setup.py。
为此,我在计算机上的vagrant文件夹中创建了一个文件夹“udacityproject”。我在那里保存了我的文件database_setup.py。
现在在Bash,我做
$ vagrant up
$ vagrant ssh
$ cd udacityproject
$ python database_setup.py
接口返回“python:无法打开文件'database_setup.py':[Errno 2]没有这样的文件或目录”。
这一定是个愚蠢的错误,但是我看不出我做错了什么......这里打开了一个类似的话题(Run Python script in Vagrant),但答案对我没有帮助。
答案 0 :(得分:4)
您计算机上的vagrant
文件夹(包含文件VagrantFile
)是您的虚拟机上的 /vagrant
文件夹(位于<强> /
强>)。它不是您的主目录。在vagrant ssh
之后,您将登录用户vagrant的主目录。它是/home/vagrant/
。
$ vagrant ssh
$ pwd
/home/vagrant
树看起来像那样:
/root
/tmp
/usr
/var
/home
|-- vagrant # <-- You are here after logging
/vagrant
|-- udacityproject
|-- database_setup.py # <-- Your script is here
...
要运行脚本,您必须转到/vagrant
$ cd /vagrant
使用ls *
,您可以检查您的文件是否存在。现在转到创建的文件夹并运行脚本
$ cd udacityproject
$ python database_setup.py
或者从一开始就这样做:
$ vagrant ssh
$ python /vagrant/udacityproject/database_setup.py