2016-02-08 11 views
2

Я пытаюсь создать исполняемый файл из файла .py, и если я делаю что-то точно, как говорится в учебнике py2exe, он работает. Я положил setup(console=["thingyIdLikeToDo.py"]) в свой файл setup.py, а затем введите python setup.py py2exe в мою консоль, и он работает.py2exe и настройка setup.py, чтобы получить свою цель от argv?

НО. Это означает, что всякий раз, когда я хочу сделать еще один файл python в исполняемом файле, мне нужно открыть его и отредактировать setup.py. И я предпочел бы сделать что-то другое:

from distutils.core import setup 
from sys import argv 
import py2exe 

setup(console=[argv[1]]) 
##This was originally setup(console=["MyTargetFile.py"]) and it DOES work that way 

А затем введите python setup.py MyTargetFile.py py2exe. На счете этого времени invalid command name 'MyTargetFile.py'

Я также пробовал, изменяя порядок, делая его python setup.py py2exe MyTargetFile.py и изменяя argv[1] к argv[2]. Я получаю то же сообщение об ошибке.

Я имею в виду, что у меня есть действующий способ сделать мои .py-файлы в .exe-файлы, но я действительно недоволен тем, что что-то похожее на то, что это должно быть такое простое изменение, не работает. Что мне здесь не хватает?

ответ

0

Вы столкнулись с проблемой, потому что setup использует sys.argv. Если вы измените свой звонок на setup(console = [sys.argv.pop(1)], я верю, что вы перестанете наступать на пальцы на ногах, и все должно идти гладко.

+0

Да, это сделал. –