运行 python 文件,只需双击文件即可使用 conda 包。 (windows)

Run a python file that utilises conda packages with just a double-click on a file. (windows)

我想 运行 一个 python 文件到 windows 使用随 miniconda 安装的软件包的计算机 只需双击 ( 这个很不重要).

我要运行的电脑,没有安装任何东西(你可以把它当成格式化的电脑)。

我想出了用 .bat 文件来完成它并且它有效,但我必须 运行 文件两次,因为第一次安装 miniconda 后,shell 需要重新启动。我搜索了但没有找到重启 shell 并继续执行 python 文件的命令,以便只需双击即可完成。所以,只有第一次,必须手动完成。

有没有办法用批处理文件来做,或者我应该用其他方法吗?

这是我的批处理文件

START %CD%\Miniconda3-latest-Windows-x86_64.exe /InstallationType=JustMe /AddToPath=1 /RegisterPython=0 /S /D=%CD%\miniconda3
CALL conda activate .\envs_dir
python python_script.py
PAUSE

问题是安装更改了用户环境变量而不是本地环境变量。 @Mofi 在我 post 的评论中解释了它。我按如下方式切换批处理文件:

START %CD%\Miniconda3-latest-Windows-x86_64.exe /InstallationType=JustMe /AddToPath=1 /RegisterPython=0 /S /D=%CD%\miniconda3
TIMEOUT 40
set PATH=%PATH%;%CD%\miniconda3\Library\mingw-w64\bin;%CD%\miniconda3\Library\usr\bin;%CD%\miniconda3\Library\bin;%CD%\miniconda3\Scripts
CALL conda activate .\envs_dir
python python_script.py

更新

为了获得更强大的批处理脚本,根据@Mofi 的评论,我将脚本更改为:

"%~dp0Miniconda3-latest-Windows-x86_64.exe" /InstallationType=JustMe /AddToPath=1 /RegisterPython=0 /S /D="%~dp0miniconda3"
set "PATH=%PATH%;%~dp0miniconda3\Library\mingw-w64\bin;%~dp0miniconda3\Library\usr\bin;%~dp0miniconda3\Library\bin;%~dp0miniconda3\Scripts"
call "%~dp0miniconda3\Library\bin\conda.bat" activate "%~dp0envs_dir"
"%~dp0envs_dir\python.exe" "%~dp0python_script.py"