我们必须结合 Windows 批处理语言的一些知识、a previous SO answer 的一些指导,并从您通常用来启动 Anaconda 提示的特定 Windows 开始菜单快捷方式中提取关键信息。
首先,从开始菜单中,右键单击“Anaconda Prompt”快捷方式并选择“打开文件位置”。在文件资源管理器中,右键单击快捷方式文件并打开其属性。在快捷方式选项卡中,仔细查看“目标:”字段中的命令。如果您要在命令提示符窗口中运行此命令,它应该将该命令提示符窗口转换为 Anaconda 提示符以用于所有意图和目的。
我们只需要调用cmd.exe "/K" 之后的“目标:”字段中的命令部分。它应该看起来像这样,在 Anaconda 安装目录中调用 activate.bat 文件(或“miniconda”,我使用的更精简的版本):
C:\Users\%USERNAME%\miniconda3\Scripts\activate.bat C:\Users\%USERNAME%\miniconda3
参数C:\Users\%USERNAME%\miniconda3 确定在Anaconda Prompt 启动时加载的特定Conda 环境。将其保留为基本miniconda3 文件夹的路径将加载“基本”环境,这是您从“开始”菜单快捷方式启动 Anaconda Prompt 时的默认设置。如果您想加载不同的环境,请将其设为C:\Users\%USERNAME%\miniconda3\envs\custom-env-name 的路径(重点是将\envs\custom-env-name 附加到您的 Anaconda/miniconda 安装目录)。
为了本示例的目的,我们将[运行activate.bat 到指定Conda 环境的两条路径的文本] 称为START_ANACONDA_CMD。至于在指定的 Conda 环境中安装软件包时要运行的命令,我们称之为PACKAGE_INSTALL_CMD_1 和PACKAGE_INSTALL_CMD_2。
您应该尝试从 Python 执行的 os.system 调用如下:
os.system(r"""start "My Spyder Package Installer" /wait cmd /c "START_ANACONDA_CMD&PACKAGE_INSTALL_CMD_1&PACKAGE_INSTALL_CMD_2" """)
注意事项:
执行字符串指定的命令,然后停止。
获得START_ANACONDA_CMD 后,一个不错的小测试是打开 Python 解释器并运行以下命令:
os.system(r"""start /wait cmd /c "START_ANACONDA_CMD&conda info&timeout /t 10" """)
这应该会打开一个指向指定 Conda 环境的命令提示符窗口,运行 conda info,然后等待 10 秒再退出。