我正在运行Windows10。我最近将位置更改为python文件夹和解释器。
不幸的是,当我现在在命令提示符下运行python脚本时,我总是必须在要运行的脚本名称之前键入“ python”。
直接运行脚本-例如:C:\ Python 37 \ mypythonscript.py-绝对不会在命令提示符下产生任何反应。我只是直接回到C:\ Python37>
但是,如果我运行C:\ Python 37 \ python mypythonscript.py,则脚本将正确执行。
我在命令提示符下使用“ ftype”和“ assoc”更改了所有文件关联。当我启动命令提示符并键入“ python”时,python编译器会正确启动。
我的问题是我总是必须在脚本名称前键入“ python”,命令提示符才能识别它需要执行python。
我想打开命令,使用python脚本将目录更改为目录,然后通过运行脚本名称(mypythonscript.py)来运行python脚本,而不必在其前面键入“ python”。
能否请您帮我找出问题所在?如何再次在命令提示符下运行python脚本,而不必在脚本名称前键入“ python”?
先谢谢您。
答案 0 :(得分:1)
如果在powershell中使用python 3 Virtualenv,则上述问题可能会非常令人困惑。通常,“ py。\ yourscript.py”或“ py。\ yourscript”可以工作,但“。\ yourscript.py”或“。\ yourscript”将失败,并可能返回“ ModuleNotFoundError:没有名为'
发生这种情况是因为您的.py关联不正确,如上面第二句话中Eryk Sun所述。在大多数情况下,他命名的“ py启动器”是“ C:\ Windows \ py.exe”。就我而言,它已经安装好了,我只需要按照他的描述调整.py扩展名即可。也可以通过“按文件类型选择默认应用”设置来完成。
一个有用的帮助是在Powershell中定义“ $ env:PYLAUNCH_DEBUG = 1”。之后,“ py。\ yourscript.py”将具有额外的输出,显示在哪里找到您的python可执行文件。 如果没有多余的输出,则意味着像以前一样,您没有与“ py.exe”关联的“ .py”。如果您启动“ cmd”并且“ ftype python.file”看起来正常,则需要阅读Eryk Sun的第一句话:-)