【发布时间】:2019-07-27 16:41:57
【问题描述】:
我正在尝试创建一个自动作业来导航到网络共享并从那里运行 Python 脚本,但权限有点不稳定。如果我先启动python,它找不到共享。但是,我发现如果我先启动 Anaconda 提示,它可以导航到共享并执行没有问题。以下是批处理文件中的命令序列:
z:
CD Python
python ImportTool.py LocalCommands.txt
除非有办法直接从任务计划程序调用 anaconda 提示符,否则我想我需要在批处理文件中添加一行以将命令提示符转换为 Anaconda 提示符。这有效:
C:\ProgramData\Anaconda3\Scripts\activate.bat
问题是一旦运行,它会结束批处理,因此其他命令不会运行。如果我在另一个批处理文件中调用剩余的行,则从新的命令提示符下它可以工作,但这意味着第二次调用。这必须作为计划作业在单个批次中工作。
所以我的问题是,我怎样才能修改我的批处理文件以获取我的 anaconda 提示符,并且仍然能够在没有第二次调用的情况下运行剩余的命令? TIA
【问题讨论】:
-
但是为什么你首先需要 Anaconda 来运行呢?没有充分的理由 Python 不能自己找到网络共享,从您的描述看来,您似乎同意这是真的。所以也许把
activate.bat拆开看看神奇的线是什么?之前困扰我的一个具体问题是多个 Python 安装;也许您的PATH变量中有一个奇怪的 Python 版本,而 Anaconda 激活补救措施...? -
另一个注意事项(也没有回答您的实际问题,抱歉)是我也在 Win10 上使用 Python。随着时间的推移,我发现 Anaconda 越来越麻烦(Conda 包管理器在升级模块时经常会挂断),所以我最终放弃了 Anaconda 并改用WinPython,我很高兴我做到了。它提供了 Anaconda 的所有好东西(Jupyter、Numpy、Matplotlib)并且是可移植的安装,因此可以避开我遇到的所有 Anaconda 麻烦。我会推荐它。