从Windows

时间:2017-11-21 17:34:43

标签: python powershell environment-variables anaconda miniconda

我有一个python脚本文件夹,我想从windows下的任何文件夹运行。作为python解释器,我正在运行与Miniconda一起安装的Python 3.6。

例如,在文件夹C:\Users\name\my_scripts中,我有一个名为test.py的脚本,其中包含以下内容。

print('test')

导航到运行脚本的文件夹后,通过使用python执行它来生成以下输出。

PS C:\Users\name\my_scripts> python test.py
test

PS C:\Users\name\my_scripts> cd..
PS C:\Users\name> python test.py
C:\Users\name\Miniconda3\python.exe: can't open file 'test.py': [Errno 2] No such file or directory

我尝试将C:\Users\name\my_scripts添加到Path。在powershell中的任何文件夹中键入test.py都会使用我的默认文本编辑器打开脚本,但是在任何位置执行带有python test.py表单的脚本,但脚本文件夹会导致找不到文件错误。

创建包含脚本文件夹的%PYTHONPATH%环境变量也不起作用。据我所知,这是正常的,因为这个环境变量应该用于从特定位置导入模块,而不是自己执行模块。

有没有办法从任何指定位置执行my_scripts文件夹中的脚本?

2 个答案:

答案 0 :(得分:0)

python my_scripts\test.py应该有用。

更一般地说,您使用解释器运行python脚本:python PATH_TO_SCRIPT

答案 1 :(得分:0)

我认为你可以用3种不同的方式做到:

  • python ./path/to/script
  • 制作一个你的文件包,即.whl文件,然后pip安装它(尽管conda环境警告你不要进行pip安装,但是它有效)
  • 制作你自己的.bat文件,你可以在启动python之前进入脚本文件夹,你可以放在./Miniconda/Scripts中的.bat文件,它会在你开始你的conda提示时起作用

还有一条路可走,但这很难看,不推荐,但它确实有用。 首先找出python会话中sys.path中的文件夹,然后将your_script.py复制到那里的文件夹中。然后,您可以通过执行python -m your_script.py来获取该脚本 它会抱怨your_script不是一个模块,因此不推荐使用,但如果这是你正在寻找的内容,那么可以快速推进。

嗯,听起来你真的应该做一个.bat文件。 也许把它命名为mp.bat 在.bat你可以做cd,并解析cmd行选项,所以你的ps行可能只是: mp.bat test.py 这似乎是你在寻找什么,谷歌搜索,我相信你会发现如何将参数带入.bat文件