运行 python 来自 windows 中 powershell 下任何文件夹的脚本
Run python scripts from any folder under powershell in windows
我有一个包含 python 个脚本的文件夹,我想从 windows 下的任何文件夹中 运行。作为 python 解释器,我正在 运行ning Python 3.6 安装了 Miniconda。
例如,在文件夹 C:\Users\name\my_scripts
中,我有一个名为 test.py
的脚本,其中包含以下内容。
print('test')
导航到文件夹 运行ning 后,脚本通过使用 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
文件夹中的脚本?
python my_scripts\test.py
应该可以。
更一般地说,您 运行 使用解释器的 python 脚本:python PATH_TO_SCRIPT
我认为您可以通过 3 种不同的方式进行操作:
- python./path/to/script
- 打包你的文件,即 .whl 文件,然后 pip 安装它(尽管 conda 环境警告你不要进行 pip 安装,它仍然有效)
- 制作你自己的 .bat 文件,在开始之前 cd 到脚本文件夹中 python,你可以将 .bat 文件放在 ./Miniconda/Scripts 中,它会在你启动 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 文件中
我有一个包含 python 个脚本的文件夹,我想从 windows 下的任何文件夹中 运行。作为 python 解释器,我正在 运行ning Python 3.6 安装了 Miniconda。
例如,在文件夹 C:\Users\name\my_scripts
中,我有一个名为 test.py
的脚本,其中包含以下内容。
print('test')
导航到文件夹 运行ning 后,脚本通过使用 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
文件夹中的脚本?
python my_scripts\test.py
应该可以。
更一般地说,您 运行 使用解释器的 python 脚本:python PATH_TO_SCRIPT
我认为您可以通过 3 种不同的方式进行操作:
- python./path/to/script
- 打包你的文件,即 .whl 文件,然后 pip 安装它(尽管 conda 环境警告你不要进行 pip 安装,它仍然有效)
- 制作你自己的 .bat 文件,在开始之前 cd 到脚本文件夹中 python,你可以将 .bat 文件放在 ./Miniconda/Scripts 中,它会在你启动 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 文件中