运行 python Anaconda 环境中的脚本通过 Windows cmd
Running python scripts in Anaconda environment through Windows cmd
我有以下目标:我有一个 python 脚本,它应该 运行ning 在我的自定义 Anaconda 环境中。而且这个过程需要自动化。
我尝试的第一件事是在我的环境中打开的 Anaconda 命令提示符中使用 pyinstaller 创建我的脚本的 .exe 文件。并将 .exe 放入 Windows 任务计划程序。但我没有成功,因为我的脚本似乎太复杂,包含太多导入,所以 pyinstaller 没有创建 .exe。
接下来我想到的是尝试使用具有适当属性的 Windows CMD 来 运行 我的脚本,并将其放入 Windows 任务计划程序。
现在我的问题是,是否有一种方法可以设置任务计划程序,以便它可以 运行 带有属性的 CMD,这将激活我的环境,并在这个环境下立即 运行 我的脚本?我需要每天在给定时间自动完成一次。
更新 3:我是瞎了吗?
我的意思是,这里是:
你可以
- 创建一个
.bat
文件(例如 run_python_script.bat
),内容如下所示。
- 在“任务计划程序”中创建任务到 运行
.bat
文件。
1.a。 conda 环境下的 .bat 文件内容
- 检查你的
<condapath>
。您的 conda.exe
位于 <condapath>/Scripts
。
- 放入你的.bat文件
call "<condapath>\Scripts\activate.bat" <env_name> & cd "<folder_for_your_py_script>" & python <scriptname.py> [<arguments>]
<env_name>
是conda环境的名称。
<folder_for_your_py_script>
是包含 <scriptname.py>
的文件夹
<scriptname.py>
是你要启动的脚本。
[<arguments>]
表示可选参数(如果您需要为脚本提供参数)
1.b。带有 venv
的 .bat 文件内容
"<path_to_python_exe>" "<path_to_python_script>" [<arguments>]
哪里
<path_to_python_exe>
是 python 可执行文件的路径。如果您使用的是虚拟环境 (venv
),则使用 /venv/Scripts
文件夹中的 python.exe
<path_to_python_script>
是您的 python 脚本的路径。
[<arguments>]
表示可选参数(如果您需要为脚本提供参数)
2。在任务计划程序中创建任务
- 转到“任务计划程序”->“创建基本任务”
- 给出姓名和时间信息
- 将您的
run_python_script.bat
. 路径添加到“Program/Script”
附录:使用 Anaconda
创建 venv
conda create
命令似乎没有创建与 python -m venv
命令类似的虚拟环境。使用 venv
创建正常的 python 虚拟环境
- 检查你的
<condapath>
。您的 conda.exe
位于 <condapath>/Scripts
。
- 创建虚拟环境到你想要的文件夹(我们称之为
venv_folder
),通过 运行ning 在 <venv_folder>
中的命令
<condapath>\python.exe -m venv venv
- 现在,您的
<path_to_python_exe>
将是 <venv_folder>\venv\Scripts.python.exe
。
- 如果你需要安装包到这个虚拟环境,你使用
<venv_folder>\venv\Scripts.python.exe -m pip install <package_name>
我有以下目标:我有一个 python 脚本,它应该 运行ning 在我的自定义 Anaconda 环境中。而且这个过程需要自动化。
我尝试的第一件事是在我的环境中打开的 Anaconda 命令提示符中使用 pyinstaller 创建我的脚本的 .exe 文件。并将 .exe 放入 Windows 任务计划程序。但我没有成功,因为我的脚本似乎太复杂,包含太多导入,所以 pyinstaller 没有创建 .exe。
接下来我想到的是尝试使用具有适当属性的 Windows CMD 来 运行 我的脚本,并将其放入 Windows 任务计划程序。
现在我的问题是,是否有一种方法可以设置任务计划程序,以便它可以 运行 带有属性的 CMD,这将激活我的环境,并在这个环境下立即 运行 我的脚本?我需要每天在给定时间自动完成一次。
更新 3:我是瞎了吗?
你可以
- 创建一个
.bat
文件(例如run_python_script.bat
),内容如下所示。 - 在“任务计划程序”中创建任务到 运行
.bat
文件。
1.a。 conda 环境下的 .bat 文件内容
- 检查你的
<condapath>
。您的conda.exe
位于<condapath>/Scripts
。 - 放入你的.bat文件
call "<condapath>\Scripts\activate.bat" <env_name> & cd "<folder_for_your_py_script>" & python <scriptname.py> [<arguments>]
<env_name>
是conda环境的名称。<folder_for_your_py_script>
是包含<scriptname.py>
的文件夹
<scriptname.py>
是你要启动的脚本。[<arguments>]
表示可选参数(如果您需要为脚本提供参数)
1.b。带有 venv
的 .bat 文件内容"<path_to_python_exe>" "<path_to_python_script>" [<arguments>]
哪里
<path_to_python_exe>
是 python 可执行文件的路径。如果您使用的是虚拟环境 (venv
),则使用/venv/Scripts
文件夹中的python.exe
<path_to_python_script>
是您的 python 脚本的路径。[<arguments>]
表示可选参数(如果您需要为脚本提供参数)
2。在任务计划程序中创建任务
- 转到“任务计划程序”->“创建基本任务”
- 给出姓名和时间信息
- 将您的
run_python_script.bat
. 路径添加到“Program/Script”
附录:使用 Anaconda
创建venv
conda create
命令似乎没有创建与 python -m venv
命令类似的虚拟环境。使用 venv
- 检查你的
<condapath>
。您的conda.exe
位于<condapath>/Scripts
。 - 创建虚拟环境到你想要的文件夹(我们称之为
venv_folder
),通过 运行ning 在<venv_folder>
中的命令
<condapath>\python.exe -m venv venv
- 现在,您的
<path_to_python_exe>
将是<venv_folder>\venv\Scripts.python.exe
。 - 如果你需要安装包到这个虚拟环境,你使用
<venv_folder>\venv\Scripts.python.exe -m pip install <package_name>