使用 python 打开 Anaconda 提示符
Opening Anaconda Prompt with python
我想创建一个脚本来帮助我安装 Spyder 的软件包。因此,我想使用 Python 并让脚本首先打开 Anaconda Prompt,然后执行命令,然后关闭 window。
但是,我可以让它打开计算器之类的东西,但它似乎无法打开命令提示符。打开我使用的计算器:
import os
os.popen("C:\Windows\System32\calc.exe")
如何让它打开命令提示符?
我们必须结合 Windows 批处理语言的一些知识,a previous SO answer 的一些指导,并从您通常使用的特定 Windows 开始菜单快捷方式中提取关键信息启动 Anaconda Prompt。
首先,在“开始”菜单中,right-click“Anaconda Prompt”快捷方式和select“打开文件位置”。在文件资源管理器中,快捷方式文件上的 right-click 并打开其属性。在“快捷方式”选项卡中,仔细查看“目标:”字段中的命令。如果您要 运行 在命令提示符 window 中执行此命令,它应该将该命令提示符 window 转换为 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
调用的更多可选参数,请参阅 Microsoft docs on the start
program。像我在示例中所做的那样为新的命令提示符指定标题 window 可能很好,但不是必需的。
从Microsoft docs on the cmd
command开始,cmd /c
的作用是:
Carries out the command specified by string and then stops.
运行 一系列带有 cmd /c
的命令,通过将命令与 &
字符连接起来。不要在示例中显示的命令周围添加额外的 "
引号。
我将整个 os.system
命令字符串包装在 r""" """
中,否则您将不得不转义 "
引号和路径中的任何反斜杠。
一旦你有了 START_ANACONDA_CMD
,一个不错的小测试是打开一个 Python 解释器和 运行 以下内容:
os.system(r"""start /wait cmd /c "START_ANACONDA_CMD&conda info&timeout /t 10" """)
这应该会在指定的 Conda 环境 运行 conda info
中打开命令提示符 window,然后等待 10 秒再退出。
我想创建一个脚本来帮助我安装 Spyder 的软件包。因此,我想使用 Python 并让脚本首先打开 Anaconda Prompt,然后执行命令,然后关闭 window。
但是,我可以让它打开计算器之类的东西,但它似乎无法打开命令提示符。打开我使用的计算器:
import os
os.popen("C:\Windows\System32\calc.exe")
如何让它打开命令提示符?
我们必须结合 Windows 批处理语言的一些知识,a previous SO answer 的一些指导,并从您通常使用的特定 Windows 开始菜单快捷方式中提取关键信息启动 Anaconda Prompt。
首先,在“开始”菜单中,right-click“Anaconda Prompt”快捷方式和select“打开文件位置”。在文件资源管理器中,快捷方式文件上的 right-click 并打开其属性。在“快捷方式”选项卡中,仔细查看“目标:”字段中的命令。如果您要 运行 在命令提示符 window 中执行此命令,它应该将该命令提示符 window 转换为 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
调用的更多可选参数,请参阅 Microsoft docs on thestart
program。像我在示例中所做的那样为新的命令提示符指定标题 window 可能很好,但不是必需的。从Microsoft docs on the
cmd
command开始,cmd /c
的作用是:
Carries out the command specified by string and then stops.
运行 一系列带有
cmd /c
的命令,通过将命令与&
字符连接起来。不要在示例中显示的命令周围添加额外的"
引号。我将整个
os.system
命令字符串包装在r""" """
中,否则您将不得不转义"
引号和路径中的任何反斜杠。
一旦你有了 START_ANACONDA_CMD
,一个不错的小测试是打开一个 Python 解释器和 运行 以下内容:
os.system(r"""start /wait cmd /c "START_ANACONDA_CMD&conda info&timeout /t 10" """)
这应该会在指定的 Conda 环境 运行 conda info
中打开命令提示符 window,然后等待 10 秒再退出。