"""distutils.command.install_scripts Implements the Distutils 'install_scripts' command, for installing Python scripts.""" # contributed by Bastian Kleineidam import os from ..core import Command from distutils._log import log from stat import ST_MODE class install_scripts(Command): description = "install scripts (Python or otherwise)" user_options = [ ('install-dir=', 'd', "directory to install scripts to"), ('build-dir=', 'b', "build directory (where to install from)"), ('force', 'f', "force installation (overwrite existing files)"), ('skip-build', None, "skip the build steps"), ] boolean_options = ['force', 'skip-build'] def initialize_options(self): self.install_dir = None self.force = 0 self.build_dir = None self.skip_build = None def finalize_options(self): self.set_undefined_options('build', ('build_scripts', 'build_dir')) self.set_undefined_options( 'install', ('install_scripts', 'install_dir'), ('force', 'force'), ('skip_build', 'skip_build'), ) def run(self): if not self.skip_build: self.run_command('build_scripts') self.outfiles = self.copy_tree(self.build_dir, self.install_dir) if os.name == 'posix': # Set the executable bits (owner, group, and world) on # all the scripts we just installed. for file in self.get_outputs(): if self.dry_run: log.info("changing mode of %s", file) else: mode = ((os.stat(file)[ST_MODE]) | 0o555) & 0o7777 log.info("changing mode of %s to %o", file, mode) os.chmod(file, mode) def get_inputs(self): return self.distribution.scripts or [] def get_outputs(self): return self.outfiles or []
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
__init__.py | File | 430 B | 0644 |
|
_framework_compat.py | File | 1.58 KB | 0644 |
|
bdist.py | File | 5.28 KB | 0644 |
|
bdist_dumb.py | File | 4.56 KB | 0644 |
|
bdist_rpm.py | File | 21.5 KB | 0644 |
|
build.py | File | 5.45 KB | 0644 |
|
build_clib.py | File | 7.5 KB | 0644 |
|
build_ext.py | File | 30.77 KB | 0644 |
|
build_py.py | File | 16.15 KB | 0644 |
|
build_scripts.py | File | 5.47 KB | 0644 |
|
check.py | File | 4.76 KB | 0644 |
|
clean.py | File | 2.53 KB | 0644 |
|
config.py | File | 12.77 KB | 0644 |
|
install.py | File | 29.45 KB | 0644 |
|
install_data.py | File | 2.7 KB | 0644 |
|
install_egg_info.py | File | 2.72 KB | 0644 |
|
install_headers.py | File | 1.15 KB | 0644 |
|
install_lib.py | File | 8.21 KB | 0644 |
|
install_scripts.py | File | 1.89 KB | 0644 |
|
py37compat.py | File | 672 B | 0644 |
|
register.py | File | 11.54 KB | 0644 |
|
sdist.py | File | 18.78 KB | 0644 |
|
upload.py | File | 7.32 KB | 0644 |
|