python_packaging.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:CommunityCellularManager 作者: facebookincubator 项目源码 文件源码
def package_install_requirements(path):
    """Use FPM's setup metadata library to package dependencies."""
    fpm_path = os.path.split(run('gem which fpm'))
    metadata_pkg_path = os.path.join(fpm_path[0], 'fpm/package')
    with cd(path):
        with shell_env(PYTHONPATH=metadata_pkg_path):
            run('python3 setup.py --command-packages=pyfpm get_metadata '
                '--output=package_metadata.json')
            get(remote_path='package_metadata.json',
                local_path='/tmp/package_metadata.json')
            with open('/tmp/package_metadata.json') as metadata_file:
                package_metadata = json.load(metadata_file)
            for dependency in package_metadata['dependencies']:
                if _run_fpm_python('\'%s\'' % (dependency),
                       warn_only=True).failed:
                    # If this fails, it is likely that this is an Endaga python
                    # package and will be fulfilled from the Endaga repo.
                    print('Ignoring dependency %s' % dependency)
            # We don't want to clobber dependencies built previously.
            run('mv -n *.%s %s' % (env.pkgfmt, PKG_DIR), quiet=True)
            run('rm *.%s' % (env.pkgfmt, ), quiet=True)
            run('rm package_metadata.json')
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号