Переопределить каталог установки по умолчанию для установщика Python bdist для Windows

Можно ли указать во время создания установщика (или во время фактической установки) собственный путь для модулей Python? В качестве примера предположим, что у меня есть 5 модулей, для которых я создаю установщик, используя:

c:\>python setup.py bdist

Все упаковывается правильно, но когда я устанавливаю, я вынужден устанавливать в сайт-пакеты. Мне нужно иметь возможность указать собственный каталог по моему (или выбору установщика). Как минимум, мне нужно иметь возможность переопределить значение по умолчанию, чтобы мой собственный путь отображался по умолчанию.

Возможно ли это с помощью встроенного дистрибутива?


person Bill Craun    schedule 08.09.2011    source источник


Ответы (3)


Вы должны написать setup.cfg, где вы можете указать параметры установки (см. вывод python setup.py install --help), а затем запустить python setup.py bdist. При создании бинарного дистрибутива Python выполнит тупую установку в подкаталоге «сборка» с этими параметрами и создаст установщик из этой тупой установки. Например, если вы хотите создать bdist, который устанавливает библиотеки в /some/lib/path и скрипты в /some/bin/path, создайте следующий setup.cfg:

[install] 
prefix=/
install_lib=/some/lib/path
install_scripts=/some/bin/path

А затем запустите python setup.py bdist

person MaxSin    schedule 02.11.2012

Из запуска python setup.py --help install:

Options for 'install' command:
  --prefix                             installation prefix
  --exec-prefix                        (Unix only) prefix for platform-
                                       specific files
  --home                               (Unix only) home directory to install
                                       under
  --user                               install in user site-package
                                       '/home/jterrace/.local/lib/python2.7/si
                                       te-packages'
  --install-base                       base installation directory (instead of
                                       --prefix or --home)
  --install-platbase                   base installation directory for
                                       platform-specific files (instead of --
                                       exec-prefix or --home)
  --root                               install everything relative to this
                                       alternate root directory
person jterrace    schedule 08.09.2011
comment
Спасибо. Программа установки, сгенерированная bdist, является исполняемым файлом. Я не запускаю setup.py из командной строки. - person Bill Craun; 09.09.2011
comment
хм? вы имеете в виду bdist или bdist_wininst? - person jterrace; 09.09.2011
comment
Вы нашли какое-нибудь решение? У меня такая же проблема. - person rocksportrocker; 12.10.2011

Я считаю, что ответ MaxSin был несколько правильным. Но чтобы использовать его ответ для команды: «python setup.py bdist_wininst», вам нужно будет сделать это следующим образом:

[bdist_wininst] 
prefix=/
install_lib=/some/lib/path
install_scripts=/some/bin/path

Синтаксис здесь следующий:

[command]
option=value
...

редактировать:

Похоже, это не работает :( не уверен в возможном другом решении.

person pianist1119    schedule 10.02.2014
comment
Я собираюсь попробовать это, и я дам отзыв о том, работает ли это для меня. - person pianist1119; 10.02.2014