Есть ли способ указать каталог сборки для py2exe - PullRequest
10 голосов
/ 28 апреля 2011

Я могу установить окончательный каталог dist py2exe с помощью командной строки:

python setup.py py2exe -d "my/dist/dir"

, но я не могу установить файл для использования в качестве временного каталога build.Я кратко посмотрел на источник, но если я что-то упустил, похоже, нет никакого способа сделать это.

Ответы [ 3 ]

9 голосов
/ 26 мая 2011

Любая опция, которую вы можете установить в командной строке, вы можете установить либо через файл setup.cfg , либо в файле setup.py.

-d - это ярлык для--dist-dir, который вы можете добавить к значению py2xe в словаре, передаваемому параметру настройки ключевого слова параметров как 'dist_dir':

from distutils.core import setup
import py2exe

# equivalent command line with options is:
# python setup.py py2exe --compressed --bundle-files=2 --dist-dir="my/dist/dir" --dll-excludes="w9xpopen.exe"
options = {'py2exe': {
           'compressed':1,  
           'bundle_files': 2, 
           'dist_dir': "my/dist/dir"
           'dll_excludes': ['w9xpopen.exe']
           }}
setup(console=['myscript.py'], options=options)

Вы также можете поставить setup.cfg следующимв ваш файл setup.py:

[py2exe]
compressed=1
bundle_files=2 
dist_dir=my/dist/dir
dll_excludes=w9xpopen.exe

Каталог сборки (--build-base) - это опция команды сборки, поэтому вы можете добавить ее в один из файлов конфигурации (или в файл setup.py) как:

[build]
build_base=my/build/dir
6 голосов
/ 12 августа 2012

Чтобы уточнить ответ lambacck, это работает на последнем vanilla py2exe:

options = {'build': {'build_base': 'my/build/dir'},
           'py2exe': {
           'compressed':1,  
           'bundle_files': 2, 
           'dist_dir': "my/dist/dir"
           'dll_excludes': ['w9xpopen.exe']
          }}
0 голосов
/ 19 ноября 2011

столкнулся с той же проблемой, что и Кейси.У нас есть система сборки, которой я хотел бы соответствовать при создании .exe с py2exe.

Однако я не думаю, что ответ Ламбакка работает.'build_base' не является опцией py2exe

Чтобы доказать это, запустите: python setup.py --help py2exe

В этом списке должны быть перечислены все опции для py2exe.build_base там не указан.

Я использую py2exe 0.6.9

Я могу ошибаться, но похоже, что кому-то нужно отправить патч тому, кто поддерживает этот проект.Он находится на SourceForge и не был на связи с 2008 года.

...