golden hour
/lib/python2.7/site-packages/setuptools/command
⬆️ Go Up
Upload
File/Folder
Size
Actions
__init__.py
590 B
Del
OK
__init__.pyc
880 B
Del
OK
__init__.pyo
880 B
Del
OK
alias.py
2.37 KB
Del
OK
alias.pyc
3.03 KB
Del
OK
alias.pyo
3.03 KB
Del
OK
bdist_egg.py
17.03 KB
Del
OK
bdist_egg.pyc
17.5 KB
Del
OK
bdist_egg.pyo
17.5 KB
Del
OK
bdist_rpm.py
1.47 KB
Del
OK
bdist_rpm.pyc
1.87 KB
Del
OK
bdist_rpm.pyo
1.87 KB
Del
OK
bdist_wininst.py
637 B
Del
OK
bdist_wininst.pyc
1.17 KB
Del
OK
bdist_wininst.pyo
1.17 KB
Del
OK
build_clib.py
4.38 KB
Del
OK
build_clib.pyc
2.78 KB
Del
OK
build_clib.pyo
2.78 KB
Del
OK
build_ext.py
12.74 KB
Del
OK
build_ext.pyc
12.23 KB
Del
OK
build_ext.pyo
12.18 KB
Del
OK
build_py.py
9.37 KB
Del
OK
build_py.pyc
10.42 KB
Del
OK
build_py.pyo
10.42 KB
Del
OK
develop.py
7.84 KB
Del
OK
develop.pyc
7.72 KB
Del
OK
develop.pyo
7.72 KB
Del
OK
dist_info.py
924 B
Del
OK
dist_info.pyc
1.69 KB
Del
OK
dist_info.pyo
1.69 KB
Del
OK
easy_install.py
83.94 KB
Del
OK
easy_install.pyc
77.86 KB
Del
OK
easy_install.pyo
77.86 KB
Del
OK
egg_info.py
24.43 KB
Del
OK
egg_info.pyc
25.4 KB
Del
OK
egg_info.pyo
25.4 KB
Del
OK
install.py
4.57 KB
Del
OK
install.pyc
4.84 KB
Del
OK
install.pyo
4.84 KB
Del
OK
install_egg_info.py
2.15 KB
Del
OK
install_egg_info.pyc
3.13 KB
Del
OK
install_egg_info.pyo
3.13 KB
Del
OK
install_lib.py
3.75 KB
Del
OK
install_lib.pyc
4.76 KB
Del
OK
install_lib.pyo
4.71 KB
Del
OK
install_scripts.py
2.38 KB
Del
OK
install_scripts.pyc
2.82 KB
Del
OK
install_scripts.pyo
2.82 KB
Del
OK
launcher manifest.xml
628 B
Del
OK
py36compat.py
4.87 KB
Del
OK
py36compat.pyc
5.42 KB
Del
OK
py36compat.pyo
5.42 KB
Del
OK
register.py
270 B
Del
OK
register.pyc
710 B
Del
OK
register.pyo
710 B
Del
OK
rotate.py
2.11 KB
Del
OK
rotate.pyc
2.98 KB
Del
OK
rotate.pyo
2.98 KB
Del
OK
saveopts.py
658 B
Del
OK
saveopts.pyc
1.1 KB
Del
OK
saveopts.pyo
1.1 KB
Del
OK
sdist.py
6.76 KB
Del
OK
sdist.pyc
7.76 KB
Del
OK
sdist.pyo
7.76 KB
Del
OK
setopt.py
4.97 KB
Del
OK
setopt.pyc
5.91 KB
Del
OK
setopt.pyo
5.91 KB
Del
OK
test.py
8.83 KB
Del
OK
test.pyc
10 KB
Del
OK
test.pyo
10 KB
Del
OK
upload.py
1.14 KB
Del
OK
upload.pyc
1.6 KB
Del
OK
upload.pyo
1.6 KB
Del
OK
upload_docs.py
7.14 KB
Del
OK
upload_docs.pyc
7.66 KB
Del
OK
upload_docs.pyo
7.63 KB
Del
OK
Edit: develop.py
from distutils.util import convert_path from distutils import log from distutils.errors import DistutilsError, DistutilsOptionError import os import glob import io from setuptools.extern import six from pkg_resources import Distribution, PathMetadata, normalize_path from setuptools.command.easy_install import easy_install from setuptools import namespaces import setuptools class develop(namespaces.DevelopInstaller, easy_install): """Set up package for development""" description = "install package in 'development mode'" user_options = easy_install.user_options + [ ("uninstall", "u", "Uninstall this source package"), ("egg-path=", None, "Set the path to be used in the .egg-link file"), ] boolean_options = easy_install.boolean_options + ['uninstall'] command_consumes_arguments = False # override base def run(self): if self.uninstall: self.multi_version = True self.uninstall_link() self.uninstall_namespaces() else: self.install_for_development() self.warn_deprecated_options() def initialize_options(self): self.uninstall = None self.egg_path = None easy_install.initialize_options(self) self.setup_path = None self.always_copy_from = '.' # always copy eggs installed in curdir def finalize_options(self): ei = self.get_finalized_command("egg_info") if ei.broken_egg_info: template = "Please rename %r to %r before using 'develop'" args = ei.egg_info, ei.broken_egg_info raise DistutilsError(template % args) self.args = [ei.egg_name] easy_install.finalize_options(self) self.expand_basedirs() self.expand_dirs() # pick up setup-dir .egg files only: no .egg-info self.package_index.scan(glob.glob('*.egg')) egg_link_fn = ei.egg_name + '.egg-link' self.egg_link = os.path.join(self.install_dir, egg_link_fn) self.egg_base = ei.egg_base if self.egg_path is None: self.egg_path = os.path.abspath(ei.egg_base) target = normalize_path(self.egg_base) egg_path = normalize_path(os.path.join(self.install_dir, self.egg_path)) if egg_path != target: raise DistutilsOptionError( "--egg-path must be a relative path from the install" " directory to " + target ) # Make a distribution for the package's source self.dist = Distribution( target, PathMetadata(target, os.path.abspath(ei.egg_info)), project_name=ei.egg_name ) self.setup_path = self._resolve_setup_path( self.egg_base, self.install_dir, self.egg_path, ) @staticmethod def _resolve_setup_path(egg_base, install_dir, egg_path): """ Generate a path from egg_base back to '.' where the setup script resides and ensure that path points to the setup path from $install_dir/$egg_path. """ path_to_setup = egg_base.replace(os.sep, '/').rstrip('/') if path_to_setup != os.curdir: path_to_setup = '../' * (path_to_setup.count('/') + 1) resolved = normalize_path(os.path.join(install_dir, egg_path, path_to_setup)) if resolved != normalize_path(os.curdir): raise DistutilsOptionError( "Can't get a consistent path to setup script from" " installation directory", resolved, normalize_path(os.curdir)) return path_to_setup def install_for_development(self): if six.PY3 and getattr(self.distribution, 'use_2to3', False): # If we run 2to3 we can not do this inplace: # Ensure metadata is up-to-date self.reinitialize_command('build_py', inplace=0) self.run_command('build_py') bpy_cmd = self.get_finalized_command("build_py") build_path = normalize_path(bpy_cmd.build_lib) # Build extensions self.reinitialize_command('egg_info', egg_base=build_path) self.run_command('egg_info') self.reinitialize_command('build_ext', inplace=0) self.run_command('build_ext') # Fixup egg-link and easy-install.pth ei_cmd = self.get_finalized_command("egg_info") self.egg_path = build_path self.dist.location = build_path # XXX self.dist._provider = PathMetadata(build_path, ei_cmd.egg_info) else: # Without 2to3 inplace works fine: self.run_command('egg_info') # Build extensions in-place self.reinitialize_command('build_ext', inplace=1) self.run_command('build_ext') self.install_site_py() # ensure that target dir is site-safe if setuptools.bootstrap_install_from: self.easy_install(setuptools.bootstrap_install_from) setuptools.bootstrap_install_from = None self.install_namespaces() # create an .egg-link in the installation dir, pointing to our egg log.info("Creating %s (link to %s)", self.egg_link, self.egg_base) if not self.dry_run: with open(self.egg_link, "w") as f: f.write(self.egg_path + "\n" + self.setup_path) # postprocess the installed distro, fixing up .pth, installing scripts, # and handling requirements self.process_distribution(None, self.dist, not self.no_deps) def uninstall_link(self): if os.path.exists(self.egg_link): log.info("Removing %s (link to %s)", self.egg_link, self.egg_base) egg_link_file = open(self.egg_link) contents = [line.rstrip() for line in egg_link_file] egg_link_file.close() if contents not in ([self.egg_path], [self.egg_path, self.setup_path]): log.warn("Link points to %s: uninstall aborted", contents) return if not self.dry_run: os.unlink(self.egg_link) if not self.dry_run: self.update_pth(self.dist) # remove any .pth link to us if self.distribution.scripts: # XXX should also check for entry point scripts! log.warn("Note: you must uninstall or replace scripts manually!") def install_egg_scripts(self, dist): if dist is not self.dist: # Installing a dependency, so fall back to normal behavior return easy_install.install_egg_scripts(self, dist) # create wrapper scripts in the script dir, pointing to dist.scripts # new-style... self.install_wrapper_scripts(dist) # ...and old-style for script_name in self.distribution.scripts or []: script_path = os.path.abspath(convert_path(script_name)) script_name = os.path.basename(script_path) with io.open(script_path) as strm: script_text = strm.read() self.install_script(dist, script_name, script_text, script_path) def install_wrapper_scripts(self, dist): dist = VersionlessRequirement(dist) return easy_install.install_wrapper_scripts(self, dist) class VersionlessRequirement(object): """ Adapt a pkg_resources.Distribution to simply return the project name as the 'requirement' so that scripts will work across multiple versions. >>> dist = Distribution(project_name='foo', version='1.0') >>> str(dist.as_requirement()) 'foo==1.0' >>> adapted_dist = VersionlessRequirement(dist) >>> str(adapted_dist.as_requirement()) 'foo' """ def __init__(self, dist): self.__dist = dist def __getattr__(self, name): return getattr(self.__dist, name) def as_requirement(self): return self.project_name
Save