为什么我的系统不会确认新的路径环境变量?

时间:2014-11-10 12:38:53

标签: python environment-variables

我正在使用GUI方法(而不是setx)在Windows 7上的%PATH%环境变量中设置目录。我的目标是启用我放置在我的&#39中的所有python脚本,模块和类; d:\硕士\的Python \ My_Python_Modules'可以在命令行或其他python脚本中使用的目录,但是可以从任何目录中使用(很像可以从任何地方调用本机python模块)。

我经历过以下过程: '编辑系统环境变量 - >环境变量 - >将我的目录添加到%PATH%变量的开头'

现在看起来像这样

'D:\MPhil\Python\My_Python_Modules\;C:\Program Files (x86)\ActiveState Komodo IDE 8\;...'

然而,' Identify_Gene.py'目录中包含的脚本仍然无法调用(使用命令' python Identify_Gene.py',来自随机目录。

有人知道我做错了吗?

2 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

  1. 添加到Windows环境varibale PATHEXT python脚本扩展名:.PY

    set PATHEXT=%PATHEXT%;.PY

    (使用环境设置GUI使其成为永久性的)

  2. 在命令行中:注册python扩展名:

    assoc .py=Python.File

  3. 在命令行中:将应用程序调用者添加到扩展名:

    ftype Python.File=<path to python exe>\pythonw.exe "%%1" %%*

  4. 下次您只需在命令行中按名称运行脚本,而不使用.py扩展名(如果您设置了PATH变量)。

    另一个选择:您应该将脚本文件夹的路径添加到PYTHONPATH变量,然后您可以在以下格式中调用脚本:

    python -m <script name>
    

答案 1 :(得分:1)

您在PATH环境变量(其中shell(cmd.exe)搜索命令的位置和PYTHONPATH环境变量初始化sys.path之间产生混淆Python用来查找模块的变量。

你可以尝试两种方式(或多或少)做你想做的事情:

  • Windows规范知道必须通过.py解释器执行.pywPython个文件。您可以将放置脚本的目录添加到PATH的目录(与您一样)并直接调用脚本 (而不是python Identify_Gene.py
    Identify_Gene.py
  • 只在PATH中放入包含python的目录,并将包含脚本的目录放入PYTHONPATH(如果不存在,可以在Windows下创建新的环境变量)。您可以将脚本称为模块:
    python -m Identify_Gene