from distutils import log import distutils.command.install_scripts as orig from distutils.errors import DistutilsModuleError import os import sys from pkg_resources import Distribution, PathMetadata 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): import setuptools.command.easy_install as ei 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 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) try: bw_cmd = self.get_finalized_command("bdist_wininst") is_wininst = getattr(bw_cmd, '_is_running', False) except (ImportError, DistutilsModuleError): is_wininst = False writer = ei.ScriptWriter if is_wininst: exec_param = "python.exe" writer = ei.WindowsScriptWriter 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 |
|
alias.py | File | 2.33 KB | 0644 |
|
bdist_egg.py | File | 16.23 KB | 0644 |
|
bdist_rpm.py | File | 1.15 KB | 0644 |
|
build.py | File | 6.43 KB | 0644 |
|
build_clib.py | File | 4.32 KB | 0644 |
|
build_ext.py | File | 15.45 KB | 0644 |
|
build_py.py | File | 13.78 KB | 0644 |
|
develop.py | File | 6.85 KB | 0644 |
|
dist_info.py | File | 4.69 KB | 0644 |
|
easy_install.py | File | 83.65 KB | 0644 |
|
editable_wheel.py | File | 30.46 KB | 0644 |
|
egg_info.py | File | 26.17 KB | 0644 |
|
install.py | File | 5.04 KB | 0644 |
|
install_egg_info.py | File | 2.17 KB | 0644 |
|
install_lib.py | File | 3.78 KB | 0644 |
|
install_scripts.py | File | 2.55 KB | 0644 |
|
launcher manifest.xml | File | 628 B | 0644 |
|
py36compat.py | File | 4.83 KB | 0644 |
|
register.py | File | 468 B | 0644 |
|
rotate.py | File | 2.08 KB | 0644 |
|
saveopts.py | File | 658 B | 0644 |
|
sdist.py | File | 6.91 KB | 0644 |
|
setopt.py | File | 4.97 KB | 0644 |
|
test.py | File | 7.91 KB | 0644 |
|
upload.py | File | 462 B | 0644 |
|
upload_docs.py | File | 7.29 KB | 0644 |
|