覆盖Python bdist Windows安装程序的默认安装目录

Bil*_*aun 10 python distutils

是否可以在安装程序生成期间(或在实际安装期间)指定Python模块的自定义路径?举个例子,假设我有5个模块,我使用它生成安装程序:

c:\>python setup.py bdist
Run Code Online (Sandbox Code Playgroud)

所有东西都打包正确,但是当我安装时,我被迫安装到site-packages中.我需要能够指定我的自定义目录(或安装程序的选择).至少,我需要能够覆盖默认值,以便我的自定义路径显示为默认路径.

这可能是使用内置发行版吗?

小智 11

您应该编写setup.cfg,您可以在其中指定安装选项(请参阅python setup.py install --help output),然后运行python setup.py bdist.创建二进制发行版时,python将使用此选项在"build"子目录下执行dumb安装,并从此哑安装中创建安装程序.例如,如果要创建将库安装到/ some/lib/path并将脚本安装到/ some/bin/path的bdist,请创建以下setup.cfg:

[install] 
prefix=/
install_lib=/some/lib/path
install_scripts=/some/bin/path
Run Code Online (Sandbox Code Playgroud)

然后运行python setup.py bdist


jte*_*ace 1

从运行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
Run Code Online (Sandbox Code Playgroud)