Переопределить каталог установки по умолчанию для установщика Windows Python bdist - PullRequest
10 голосов
/ 09 сентября 2011

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

c:\>python setup.py bdist

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

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

Ответы [ 3 ]

11 голосов
/ 02 ноября 2012

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

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

, а затем запустите установку python.py bdist

1 голос
/ 10 февраля 2014

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

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

Синтаксис здесь :

[command]
option=value
...

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

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

1 голос
/ 09 сентября 2011

с работы 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
...