Visual Studio запуталась в Python версиях - PullRequest
0 голосов
/ 19 апреля 2020

Я называю простой Python скрипт из файла C# как

        //ADD results and errors  e.g., code Run GP tool.sln
        #region Running Python scripts Commented
        ProcessStartInfo psi = new ProcessStartInfo();
        //Script variables, paths etc.
        psi.FileName = @"C:\Users\oguz\AppData\Local\ESRI\conda\envs\arcgispro-py3-clone1\python.exe";
        var py_script = @"C:\Users\oguz\source\repos\ProAppModuleDeneme5\ShapefileProcess\ShapefileProcess.py"; //change the path later
        var filename_old = shp_path;
        var filename_new = shp_path.Remove(21) + "F" + RenameTextBox.Text;
        psi.Arguments = $"{py_script} {filename_old} {filename_new}";
        MessageBox.Show(psi.Arguments);
        //Process configuration
        psi.UseShellExecute = false;
        psi.CreateNoWindow = true;
        psi.RedirectStandardOutput = true;
        psi.RedirectStandardError = true;

        //Execute and get output
        var errors = "";
        var results = "";

        using (var process = Process.Start(psi))
        {
            errors = process.StandardError.ReadToEnd();
            results = process.StandardOutput.ReadToEnd();
            MessageBox.Show(errors);
            MessageBox.Show(results);
        }

        Console.WriteLine(errors);
        Console.WriteLine(results);

Этот C# код должен вызывать код Python как

import arcpy
import sys
import os



filename_old = sys.argv[1]
filename_new = sys.argv[2]

folder_path = "C:\\Projects\\Test"

arcpy.env.workspace = folder_path

arcpy.Rename_management(str(filename_old), str(filename_new))

Я получаю это сообщение

enter image description here

Похоже, Visual Studio вызывает правильный Python, а когда библиотека нужна, она пытается получить ее из разных Python среда.

Я пробовал так много вещей, но результат тот же.

Есть идеи?

1 Ответ

0 голосов
/ 20 апреля 2020

Я удалил другие Python версии и сохранил ту, которая мне нужна, тогда она работала нормально. Я думаю, что эти Python версии пришли с Visual Studio. Это был единственный способ, которым я смог решить это. Надеюсь, кто-нибудь даст лучший ответ.

...