首页 > 解决方案 > 如何使用新修改的系统环境启动 Windows 7 控制台?

问题描述

我编写了一个(非常简单的)小 Python 脚本,我希望能够将它分发给不知道 Python 是什么,也不知道 Windows cmd脚本的朋友。

因此,从根本上说,我需要在他们的系统上安装 Python,然后为我的脚本安装所需的库,然后是我的脚本(以及他们桌面上的适当启动链接)。

我对创建一些复杂的安装程序没有兴趣。因此,我编写了一个非常简单、琐碎的小 cmd 脚本来进行安装(并创建了一个运行安装脚本的自解压存档)。

在存档中,我有用于安装 Python 的可访问 Internet 的安装可执行文件。该脚本测试现有的 Python 安装,当没有找到时,它会安装 Python。这很好用。

但是,在安装 Python 之后,我需要安装一些未与 Python 预先捆绑的必需模块/库。如果能够使用pip3来安装这些库,那就太好了。从根本上说,这是需要运行的:

python-3.8.2-webinstall.exe  PrependPath=1
pip3 install --user requests python-dateutil pychromecast gtts

这里的问题是 Python web install 之后,运行这个脚本的进程(控制台进程)没有从 web install 进程继承新的设置(尤其是新的路径设置),所以pip3命令失败。

我第一次尝试解决这个问题是使用控制台 START 命令在具有新设置的单独进程中启动 pip3 命令:

python-3.8.2-webinstall.exe  PrependPath=1
START "PythonRequireds" /I /wait cmd /C "pip3 install --user requests python-dateutil pychromecast gtts"

START命令的文档中,我预计 /I 选项将确保启动的进程具有新环境,包括刚刚完成的 Web 安装的更改。唉,它不是:仍然找不到 pip3 命令。

如何从 Windows 控制台脚本启动新进程,以便新进程具有安装进程刚刚放置在注册表中的路径的所有更改?

标签: batch-filecmdenvironment-variablesstart-process

解决方案


推荐阅读