我是Python的新手,即使您已在虚拟环境文件夹(.venv)上进行复制,也必须在服务器上安装Python吗?如果只是简单地提供虚拟文件夹的路径,它将拥有所需的所有内容,库等,那我的印象就深深地吸引了我。
我需要从Windows服务器上IIS内运行的.net核心api调用python程序。这是一个临时解决方案。我在.net中使用ProcessStartInfo来调用python程序并传递一些参数,这在本地运行良好,但是在部署而不是使用我提供给python虚拟环境的路径(请参见下文)时,它正在查看C:\用户\ {me} \ AppData \ Local \ Programs \ Python \ Python37。如果我在此位置也未提供Python,则会收到错误“找不到Python”。
谢谢
string pythonDirectory = @"D:\Services\python";
ProcessStartInfo start = new ProcessStartInfo();
start.FileName = pythonDirectory + @"\.venv\Scripts\python.exe"; // using virtual environment python.
start.Arguments = $"{prog} {arguments}";
start.UseShellExecute = false; // Do not use OS shell
答案 0 :(得分:0)
您需要安装Python才能提供复制或符号链接的Python二进制文件。 PEP的第一部分(动机和规范)提供了详细信息:
因此,最简单形式的Python虚拟环境将仅由Python二进制文件的副本或符号链接以及pyvenv.cfg文件和site-packages目录组成。