Я разработал приложение, используя py2app. Используется python 2.7 на mac osx 10.9. Когда я запускаю приложение (нажимая на любой файл), оно начинает выполнять требуемое действие по открытию файла с помощью средства открытия файлов по умолчанию, а затем отслеживает изменения файла. Я передаю имя файла в качестве аргумента в коде Python. Но приложение не может открывать несколько файлов одновременно. Я обнаружил проблему с py2app как проблема с py2app Итак, есть ли другой способ преобразовать код Python в приложение, чтобы можно было создать несколько экземпляров (процессов) приложения
Как запустить несколько экземпляров приложения на Mac OSX
Ответы (1)
Похоже, это тот же вопрос, что и Запустить несколько процессов приложения. на macOS.
Единственный обходной путь для объяснения этого вопроса, который я могу придумать, - это разделить ваше приложение на две части: сценарий-оболочку, который будет основным приложением, и реальный сценарий, который используется как "--extra-scripts". Сценарий-оболочка передаст аргументы реальному сценарию и завершит работу, например:
# wrapper.py
import os, subprocess, sys
appdir = os.path.dirname(sys.argv[0])
subprocess.Popen([
os.path.join(appdir, "real-script")] + sys.argv[1:])
sys.exit(0)
И в setup.py:
setup(
name="MyApp",
app=["wrapper.py"],
options=dict(py2app=(extra_scripts=["real-script.py"])))
(Весь код был введен в ответ без тестирования, возможно, остались некоторые ошибки)
person
Ronald Oussoren
schedule
17.04.2014