Cri*_* M. 9 python batch-file scheduled-tasks anaconda conda
我有一个每天运行的脚本,想要为它制定时间表,我已经尝试使用以下文件进行批处理:
start C:\Users\name\Miniconda3\python.exe C:\script.py
而且我无法在其中运行一些基本的python命令,问题是我的实际脚本使用了随Anaconda安装的一些库,由于无法加载Anaconda,因此我无法在脚本中使用它们。
我在Windows上工作,找不到每天自动启动Anaconda并在那里运行我的脚本的方法。
小智 8
我建议使用所需的软件包创建Anaconda环境,然后使用该环境中的python运行脚本。在这里阅读有关Anaconda环境的信息
例如...
假设您创建了一个称为cristians_env的环境
conda create --name cristians_env
Run Code Online (Sandbox Code Playgroud)
然后安装所需的软件包
conda install pandas
Run Code Online (Sandbox Code Playgroud)
然后,您所需要做的就是从批处理脚本中执行此操作(假设您使用Anaconda 2)
start C:\Users\name\Anaconda2\envs\cristians_env\bin\python C:\script.py
Run Code Online (Sandbox Code Playgroud)
和瞧!您正在从批处理脚本中使用anaconda环境!
几天前我遇到了类似的问题。我发现anaconda 提示符只不过是运行位于 anaconda 'Scripts' 文件夹中的'activate.bat'脚本后通常的 cmd 提示符。因此,要在 anaconda 中运行您的 python 脚本,您需要做的就是在批处理文件中写入 2 行。(打开记事本并写下下面提到的行。使用.bat扩展名保存文件)
然后你安排这个批处理文件按照你的意愿运行,它会毫无问题地运行。
小智 5
我直接在环境中调用python会有些谨慎,因为永远不知道Activate函数的内部是否已更改。
我只是使用基本的bat脚本来帮助我。
SET log_file=%cd%\logfile.txt
call C:\Anaconda3\Scripts\activate.bat
cd \script_directory
python script.py arg1 arg2 > %log_file%
Run Code Online (Sandbox Code Playgroud)
该脚本将保存蝙蝠从何处运行的日志文件,通过激活(在本例中为标准)调用正确的环境,并将所有标准输出定向到日志文件中以进行进一步调查。
然后,只需将Windows Task Scheduler指向该脚本,并设置要在其中显示日志文件的主目录即可。
| 归档时间: |
|
| 查看次数: |
9266 次 |
| 最近记录: |