有些东西打破了我的包部署

时间:2017-05-22 18:46:38

标签: python setuptools pygments

我使用setuptools和一个需求文件来满足我的开源模块的依赖关系。

示例setup.py

from setuptools import setup, find_packages
from pip.req import parse_requirements


# parse_requirements() returns generator of
# pip.req.InstallRequirement objects
install_reqs = parse_requirements('requirements.txt',
                                  session=False)

# reqs is a list of requirement
reqs = [str(ir.req) for ir in install_reqs]

setup(
    name='python-symphony',
    version='0.1.5',
    description='python module for symphony chat',
    author='Matt Joyce',
    author_email='matt@joyce.nyc',
    url='https://github.com/symphonyoss/python-symphony',
    license='Apache 2.0',
    classifiers=[
        'Development Status :: 3 - Alpha',
        'Intended Audience :: Developers',
        'Topic :: Software Development :: Build Tools',
        'License :: OSI Approved :: Apache Software License',
        'Programming Language :: Python :: 2',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.4',
    ],
    keywords='symphony chat api python module',
    # install dependencies from requirements.txt
    install_requires=reqs,
    packages=find_packages(),
    # bin files / python standalone executable scripts
    include_package_data=True,
    zip_safe=False,
)

这已经有一段时间了。然而,最近我的构建一直在破碎。我相信setuptools中存在一个错误,可能与pygments有关。

有两个(迄今为止)确定的失败状态:

  1. 导致包被安装为二进制轮(尽管PyPI中不存在此类包)。

  2. 这导致在site-packages中安装软件包看似正确,但是没有一个子类可以从模块中调用。

  3. 我可以通过从站点包中删除包并运行来手动工作:

    pip install --isolated --no-cache-dir python-symphony
    

    但这导致pygments以某种方式搞砸了。 (我在尝试在bpython中调试模块时注意到了这一点。)

    尝试从venv(用Bash脚本包装)运行这些东西往往会失败。

    是否有人知道setuptools中可能导致此类破损的新/最近问题?

    setuptools版本:setuptools-33.1.1.dist-info和更新

    价:
    github:https://github.com/symphonyoss/python-symphony
    pypi:https://pypi.python.org/pypi/python-symphony/

0 个答案:

没有答案