from distutils import log import distutils.command.install_scripts as orig import os import sys from .._path import ensure_directory class install_scripts(orig.install_scripts): """Do normal script install, plus any egg_info wrapper scripts""" def initialize_options(self): orig.install_scripts.initialize_options(self) self.no_ep = False def run(self): self.run_command("egg_info") if self.distribution.scripts: orig.install_scripts.run(self) # run first to set up self.outfiles else: self.outfiles = [] if self.no_ep: # don't install entry point scripts into .egg file! return self._install_ep_scripts() def _install_ep_scripts(self): # Delay import side-effects from pkg_resources import Distribution, PathMetadata from . import easy_install as ei ei_cmd = self.get_finalized_command("egg_info") dist = Distribution( ei_cmd.egg_base, PathMetadata(ei_cmd.egg_base, ei_cmd.egg_info), ei_cmd.egg_name, ei_cmd.egg_version, ) bs_cmd = self.get_finalized_command('build_scripts') exec_param = getattr(bs_cmd, 'executable', None) writer = ei.ScriptWriter if exec_param == sys.executable: # In case the path to the Python executable contains a space, wrap # it so it's not split up. exec_param = [exec_param] # resolve the writer to the environment writer = writer.best() cmd = writer.command_spec_class.best().from_param(exec_param) for args in writer.get_args(dist, cmd.as_header()): self.write_script(*args) def write_script(self, script_name, contents, mode="t", *ignored): """Write an executable file to the scripts directory""" from setuptools.command.easy_install import chmod, current_umask log.info("Installing %s script to %s", script_name, self.install_dir) target = os.path.join(self.install_dir, script_name) self.outfiles.append(target) mask = current_umask() if not self.dry_run: ensure_directory(target) f = open(target, "w" + mode) f.write(contents) f.close() chmod(target, 0o777 - mask)
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
__init__.py | File | 396 B | 0644 |
|
_requirestxt.py | File | 4.11 KB | 0644 |
|
alias.py | File | 2.33 KB | 0644 |
|
bdist_egg.py | File | 16.17 KB | 0644 |
|
bdist_rpm.py | File | 1.28 KB | 0644 |
|
build.py | File | 6.63 KB | 0644 |
|
build_clib.py | File | 4.43 KB | 0644 |
|
build_ext.py | File | 17.09 KB | 0644 |
|
build_py.py | File | 14.77 KB | 0644 |
|
develop.py | File | 6.55 KB | 0644 |
|
dist_info.py | File | 3.48 KB | 0644 |
|
easy_install.py | File | 84.42 KB | 0644 |
|
editable_wheel.py | File | 32.97 KB | 0644 |
|
egg_info.py | File | 25.9 KB | 0644 |
|
install.py | File | 5.5 KB | 0644 |
|
install_egg_info.py | File | 2.02 KB | 0644 |
|
install_lib.py | File | 3.78 KB | 0644 |
|
install_scripts.py | File | 2.3 KB | 0644 |
|
launcher manifest.xml | File | 628 B | 0644 |
|
register.py | File | 468 B | 0644 |
|
rotate.py | File | 2.05 KB | 0644 |
|
saveopts.py | File | 657 B | 0644 |
|
sdist.py | File | 6.92 KB | 0644 |
|
setopt.py | File | 4.81 KB | 0644 |
|
test.py | File | 7.91 KB | 0644 |
|
upload.py | File | 462 B | 0644 |
|
upload_docs.py | File | 7.57 KB | 0644 |
|