Python 当 运行 来自 c# 的批处理文件时虚拟环境和 py 文件不启动
Python virtual-environment and py file doesn't start when run batch file from c#
我有一个批处理文件,其中包含这些启动虚拟环境的命令和 运行 一个 python 文件。当我通过 CMD 手动启动批处理文件时,它按预期 运行ning。我有一个不同的程序(.NET web 应用程序)来启动这个批处理文件,参数从 web 应用程序传递到批处理文件。但是,批处理文件采用参数但不启动虚拟环境或 python 文件。
@echo on
set filename="D:\test.txt"
echo %1_%2_%3 >%filename%
set root=C:\Users\TMF\Anaconda3
call %root%\Scripts\activate.bat %root%
call activate sales_analysis
C:\Users\TMF\Anaconda3\envs\sales_analysis\python.exe D:/sales/prediction_client.py %1 %2 %3
pause
经过几个小时的google搜索,我发现默认的 IIS 用户(通常称为“ApplicationPoolIdentity”)有一些限制。所以我在服务器上创建了一个新的服务帐户并分配了我的Web 应用程序到新用户并重新启动应用程序 pool.After 该批处理文件能够按预期启动 python 进程。
我有一个批处理文件,其中包含这些启动虚拟环境的命令和 运行 一个 python 文件。当我通过 CMD 手动启动批处理文件时,它按预期 运行ning。我有一个不同的程序(.NET web 应用程序)来启动这个批处理文件,参数从 web 应用程序传递到批处理文件。但是,批处理文件采用参数但不启动虚拟环境或 python 文件。
@echo on
set filename="D:\test.txt"
echo %1_%2_%3 >%filename%
set root=C:\Users\TMF\Anaconda3
call %root%\Scripts\activate.bat %root%
call activate sales_analysis
C:\Users\TMF\Anaconda3\envs\sales_analysis\python.exe D:/sales/prediction_client.py %1 %2 %3
pause
经过几个小时的google搜索,我发现默认的 IIS 用户(通常称为“ApplicationPoolIdentity”)有一些限制。所以我在服务器上创建了一个新的服务帐户并分配了我的Web 应用程序到新用户并重新启动应用程序 pool.After 该批处理文件能够按预期启动 python 进程。