脚本可以是环境变量吗?

时间:2016-03-12 21:48:50

标签: python environment-variables

我有一个Python脚本,我希望无论在哪里都可以执行。在Linux或Windows中,但在这种情况下最好在Windows中。在Windows下将脚本路径放入PATH不起作用,因此从某个目录调用python my_script.py会导致此目录中没有此类文件的消息。那么,这有可能吗?

3 个答案:

答案 0 :(得分:1)

您可以尝试创建别名:

<强>的Linux

  1. 在您的主文件夹上创建.bash_aliases文件
  2. 添加alias pscript='python /home/pythonscript.py'
  3. 等别名
  4. 退出并重新登录或执行source .bash_aliases
  5. <强>窗

    1. 运行doskey pscript=python C:\script.pyRead more here

答案 1 :(得分:0)

PATH用于搜索可执行文件,这不包含在Windows脚本文件中。

解决方法是将脚本转换为批处理文件,请参阅here 如何简单地让脚本也作为批处理文件

答案 2 :(得分:0)

要使操作系统运行您的脚本,它需要找到它(PATH变量),识别它是可执行的并知道应该执行它的程序。你似乎已经处理了PATH部分,现在对其他两个部分进行处理。

在unixy系统上,您需要使脚本可执行。要设置用户可执行位,请执行chmod u+x myscript.py。然后你需要告诉系统应该运行哪个程序。通常你会使用&#34; shebang&#34;作为文件中的第一行:

#!/usr/bin/env python3

系统将在路径中搜索名为&#34; python3&#34;的程序。 (使用&#34; python&#34;用于python 2脚本)并使用该可执行文件来运行脚本。

在Windows上,您需要将文件扩展名(.py)与python exeuctable相关联。这通常是在安装python时为你完成的。如果没有,您可以深入了解ftype, assoc and pathext here

Windows并不关心shebang(除非你正在运行cygwin,然后看上面的unixy系统),所以同样的脚本可以存在于两个世界中。

一旦脚本可执行,就直接调用它而不是执行python并将文件作为脚本名称。它只是

myscript.py