Итак, я делаю проект, в котором мне нужно создать устанавливаемый пакет Python, установить его на рабочий стол (ОС Windows) и запустить приложение, содержащееся в папке. После упаковки и установки кода я получаю 2 папки в пути, куда установлен pip:
project_pkg
project_pkg-0.0.1.dist-info
В папке project_pkg у меня есть 1 папка и 2 файла:
__pycache__
__init__.py
project.py
Что я хочу сделать, это запустить project.py через cmd. Как мне это сделать? Файл init .py содержит только это:
name = 'project'
UPDATE
После прочтения ответа @Patrick Allen я разобрался со всем. Теперь я могу запустить приложение, просто набрав project [args]
. Когда я делаю это, запуск выполняется так, как ожидалось, и вывод правильный, но когда он собирается закончиться, я получаю странную ошибку:
Traceback (most recent call last):
File "c:\...\appdata\local\programs\python\python37-
32\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\...\appdata\local\programs\python\python37
-32\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\...\AppData\Local\Programs\Python\Python37-
32\Scripts\project.exe\__main__.py", line 9, in <module>
TypeError: 'module' object is not callable
Дело в том, что я не использую __main__.py
, плюс, когда я пытаюсь найти файл, указанный в последнем пути, я ничего не могу найти. Есть идеи?
ОБНОВЛЕНИЕ 2
Я подумал о временном решении, которое использует команду sys.exit()
, когда приложение завершит работу. Я не знаю, правильно ли это, но у меня работает.