コード例 #1
0
from sage_setup.optional_extension import is_package_installed_and_updated

if sdist:
    # No need to compute distributions.  This avoids a dependency on Cython
    # just to make an sdist.
    distributions = None
else:
    distributions = ['']
    optional_packages_with_extensions = [
        'mcqd', 'bliss', 'tdlib', 'primecount', 'coxeter3', 'fes', 'sirocco',
        'meataxe'
    ]
    distributions += [
        'sagemath-{}'.format(pkg) for pkg in optional_packages_with_extensions
        if is_package_installed_and_updated(pkg)
    ]
    log.warn('distributions = {0}'.format(distributions))

from sage_setup.find import find_python_sources

python_packages, python_modules, cython_modules = find_python_sources(
    SAGE_SRC, ['sage'], distributions=distributions)

log.debug('python_packages = {0}'.format(python_packages))

print("Discovered Python/Cython sources, time: %.2f seconds." %
      (time.time() - t))

from sage_setup.command.sage_install import sage_install_and_clean
コード例 #2
0
else:
    log.info("Generating auto-generated sources")
    from sage_setup.autogen import autogen_all
    autogen_all()

    log.info("Discovering Python/Cython source code....")
    t = time.time()

    # Exclude a few files if the corresponding distribution is not loaded
    optional_packages = [
        'mcqd', 'bliss', 'tdlib', 'primecount', 'coxeter3', 'fes', 'sirocco',
        'meataxe'
    ]
    not_installed_packages = [
        package for package in optional_packages
        if not is_package_installed_and_updated(package)
    ]

    distributions_to_exclude = [
        f"sagemath-{pkg}" for pkg in not_installed_packages
    ]
    files_to_exclude = filter_cython_sources(SAGE_SRC,
                                             distributions_to_exclude)

    log.debug(f"files_to_exclude = {files_to_exclude}")

    python_packages = find_namespace_packages(where=SAGE_SRC,
                                              include=['sage', 'sage.*'])
    log.debug(f"python_packages = {python_packages}")

    log.info(