У меня есть файл .py, который представляет собой отдельную программу, которая принимает два аргумента командной строки, используя argparse
Следуют следующие youtube vid :
ap = argparse.ArgumentParser()
ap.add_argument("-1", "--Image", required=True, help="Image to be trained on")
ap.add_argument("-2", "--SaveName", required=True, help="Name of file to be saved")
args = vars(ap.parse_args())
image = cv2.imread(args["Image"])
fileName = (args["SaveName"])
Ниже приведен мой файл setup.py для py2app
from setuptools import setup
APP = ['DataTraining.py']
DATA_FILES=[]
OPTIONS = {
'argv_emulation':True,
'packages':['certifi'],
}
setup(
app=APP,
data_files=DATA_FILES,
options={'py2app':OPTIONS},
setup_requires=['py2app ']
)
. Я могу встроить программу в приложения, но когда я пытаюсь запустить ее в терминале с аргументами командной строки, которые я указал, в ней указываются входные данные.в качестве нераспознанных опций.
Это мое терминальное выполнение без аргументов, которое открывается, но сразу завершается неудачей.
open DataTraining.app/
Это мое выполнение терминала с аргументами строки cmd, которые не выполняются:
open DataTraining.app/ --Image /Users/chrisradford/Documents/School/Masters/RA/Classifier/ImageSets/Orig_11.png --SaveName /Users/chrisradford/Documents/School/Masters/RA/Classifier/Python/Orig_11_TrainingAttempt
Есть ли способ ввести два моих желаемых аргумента для выполнения моей программы с терминалом?Кроме того, если у меня будет печать моей программы без графического интерфейса, она пойдет в терминал или вылетит?