Я создаю консольное приложение на c #, которое включает python.exe(psi.FileName = @"C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\python";)
.Также я передаю свой файл Python в переменную (var script = @"C:\Users\Anas Younus\source\repos\PythonInConsoleApp\PythonInConsoleApp\pixhawk.py";
), и этот файл выполняется через компилятор Python всякий раз, когда я запускаю свое приложение.Проблема заключается в том, что всякий раз, когда я запускаю свой файл python напрямую через pycharm или Idle, он дает правильный результат, но всякий раз, когда я запускаю свое приложение на c #, он выдает ошибку com, которая Permission Error: [Error 13] Permission denied COM6
.
inчто я передаю свой файл python, поэтому всякий раз, когда я запускаю свое приложение. Каждый раз, когда я запускаю файл python напрямую, чтобы он работал так хорошо
Почти я попробовал все, включая запуск от имени администратора и изменение моего COM-порта из диспетчера устройств.Даже я сделал нового пользователя моей системы и дал ему все права администратора, но он больше не работает.На самом деле у меня есть дрон, который имеет модуль #Pixhawk, который имеет следующие библиотеки:
from dronekit import connect, Command, LocationGlobal
from pymavlink import mavutil
import serial
Я выполнил бэкэнд-кодирование для дронов и в pycharm и в режиме ожидания, он работает нормально, но всякий раз, когда я запускаю свое приложение черезVisual Studio (как я уже упоминал выше, это проект на C #, потому что я хочу разработать интерфейс и станцию управления моим дроном на C #), он показывает ошибку.* Измените скорость передачи данных, но это также не работает
Это мой код C #, в котором я передаю файл PYTHON, и у меня в нем PYTHON.EXE.
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PythonInConsoleApp
{
class Program
{
static void Main(string[] args)
{
// 1) Create Process Info
var psi = new ProcessStartInfo();
psi.FileName = @"C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\python";
// 2) Provide script and arguments
var script = @"C:\Users\Anas Younus\source\repos\PythonInConsoleApp\PythonInConsoleApp\pixhawk.py";
psi.Arguments = $"\"{script}\"";
// 3) Process configuration
psi.UseShellExecute = false;
psi.CreateNoWindow = true;
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
// 4) Execute process and get output
var errors = "";
var results = "";
using (var process = Process.Start(psi))
{
errors = process.StandardError.ReadToEnd();
results = process.StandardOutput.ReadToEnd();
}
// 5) Display output
Console.WriteLine("ERRORS:");
Console.WriteLine(errors);
Console.WriteLine();
Console.WriteLine("Results:");
Console.WriteLine(results);
Console.ReadKey();
}
}
}
ЭТОЯвляется ли мой код файла PYTHON
from dronekit import connect, Command, LocationGlobal
from pymavlink import mavutil
import serial
import time, sys, argparse, math
connection_string= '127.0.0.1:14550'
# https://github.com/PX4/Firmware/blob/master/Tools/mavlink_px4.py
# Parse connection argument
parser = argparse.ArgumentParser()
parser.add_argument("-c", "--connect", help="connection string")
args = parser.parse_args()
if args.connect:
connection_string = args.connect
print ("Connecting")
#vehicle = connect('COM6', baud='57600',wait_ready=True)
ss = connect
while True:
print(" heartbeat: %s" % vehicle.last_heartbeat)
print(" Armed: %s" % vehicle._autopilot_type)
print(" System status: %s" % vehicle.system_status.state)
print(" home location: %s" % vehicle.location.global_relative_frame)
print(" Alt: %s" % vehicle.location.global_relative_frame.alt)
time.sleep(1)
Я хочу устранить эту ошибку, чтобы я мог показать свои выходные данные в Visual Studio с помощью консоли C #. Мой желаемый вывод - показать биение, высоту, состояние, местоположение и т. Д.в моей консоли C #, хотя он показывает в консоли Python, но дает мне ошибку на консоли C #.Пожалуйста, помогите мне мой последний год проекта.