启动Python教程,但有一些初学者的问题

时间:2014-09-11 23:58:11

标签: python django powershell

您好我试图在Windows上的powershell中使用django来学习Python来创建一个简单的CRUD应用程序但是对设置和使用有一些疑问。

我已经设置了路径环境变量,以包含一个包含测试.py脚本的文件夹的路径,我认为这些脚本允许我直接从powershell中的c:\运行但是当我尝试使用以下命令运行示例时:

c:\> python test1.py
c:\> python .\test1.py

它不起作用,我得到:

c:\ Python27 \ python.exe:无法打开文件'。\ test1.py':[Errno 2]没有这样的文件或目录

但是如果我首先CD到路径并运行它工作正常,我在powershell窗口本身得到输出:

c:\> cd c:\Python27\Scripts
c:\Python27\Scripts> python test1.py

此外,如果我只是从根c:\提示符键入脚本的名称,例如:

c:\> c:\Python27\Scripts\test1.py
c:\> test1.py

它通过在dos框中打开来运行脚本,该框在运行脚本并完成后立即关闭。

这些方法有什么区别,是否存在以某种方式运行脚本的问题?

2 个答案:

答案 0 :(得分:1)

这里的问题是在第一种情况下:

c:\> python test1.py
c:\> python .\test1.py

您正在运行 python ,然后该文件是解释器的参数。所以 python 会受PATH影响,但该文件是相对的。这两个文件路径都意味着在同一目录中查找它,这是C:的根目录。由于文件不在那里,因此会出现错误。

第二种情况:

c:\> c:\Python27\Scripts\test1.py
c:\> test1.py

这是文件本身作为“可执行文件”运行,考虑在PATH。在Unix上,这将使用 shebang 并以几乎相同的方式调用shell,但在Windows上并非如此。相反,它基本上运行与操作系统级别的 .py 扩展相关联的任何内容,这可能会在新窗口中调用新的Python解释器,因此它会在完成后消失。< / p>

在Windows上,由于没有 shebang ,我通常更喜欢直接运行 python 解释器并将脚本作为参数传递。我通常会先切换到脚本所在的目录。这种方式更加以壳为中心,我认为这很简单。

您可以运行pushd .来保存cwd,然后在popd之后返回,可选择。这也适用于.cmd文件和类似文件。

答案 1 :(得分:0)

您确定test1.py位于C:而不是c:\Python27\Scripts