터미널이나 PythonLauncher를 통해 내 프로그램을 실행할 때 완벽하게 실행됩니다. 내 프로그램은 pyside와 터미널 콘솔을 통해 작성된 GUI를 모두 사용합니다. py2app를 사용하여 프로그램을 래핑 할 때 생성 된 .app 파일을 실행하면 터미널 쉘이 아닌 GUI 만 생성됩니다. 따라서 터미널 쉘을 열지 않고 터미널 쉘에서 하위 프로세스를 호출 할 수 없으므로 내 프로그램이 작동하지 않습니다.Py2app는 콘솔 또는 GUI를 사용하지만 둘 다 사용하지 않습니까?
어떻게 터미널 셸과 GUI를 모두 열어 둘 수 있는지에 대한 아이디어가 있습니까? 내 setup.py 또는 내 py2app 설정에 오류가 있다고 가정합니다. 여기 내 setup.py
from setuptools import setup
APP = ['myProgram.py']
DATA_FILES = []
OPTIONS = {'argv_emulation': True}
setup(
app=APP,
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)
입니다 ... 그리고 여기에 내가, py2app 모든 사람을 도움을
python setup.py py2app
덕분에 내 응용 프로그램을 컴파일하는 데 사용하고 터미널 명령이야!
터미널과 GUI가 동시에 있습니까? 나에게 끔찍한 디자인처럼 보인다! GUI에서 만든 별도의 창을 사용할 수 없습니까? 아니면 새 명령 프롬프트를 열지 않으시겠습니까? (저는 Windows 사용자가 아니지만 어렵지 않아야합니다 ...). – Bakuriu
나는 실제로 그것을 할 수 없다. subprocess.call을 사용하여 터미널에 전화해야하므로 터미널 창 *을 반드시 열려야합니다. 또한, 나는 윈도우가 아닌 OS X에있다. 기본적으로 내 파이썬 응용 프로그램은 .app로 컴파일되지 않을 때 작동하지만, 하나에 컴파일하면 내 subprocess.call 명령을 수신하는 터미널 인스턴스가 열리지 않기 때문에 중단됩니다. –
AFAIK'subprocess.call'에는 터미널과 관련된 * anything *이 없습니다. "내 subprocess.call 명령을 수신하기 위해 터미널의 인스턴스를 열지 않으므로 중단됩니다."라는 의미를 설명하십시오. – Bakuriu