python 2.7 – Requirement.parse (‘six> = 1.6.0’))

Python … ¿por qué sucede esto?

De repente me sale este error:

Traceback (most recent call last): File "setup.py", line 36, in  zip_safe=False) File "/usr/lib/python2.7/distutils/core.py", line 111, in setup _setup_distribution = dist = klass(attrs) File "/usr/local/lib/python2.7/dist-packages/setuptools/dist.py", line 320, in __init__ _Distribution.__init__(self, attrs) File "/usr/lib/python2.7/distutils/dist.py", line 287, in __init__ self.finalize_options() File "/usr/local/lib/python2.7/dist-packages/setuptools/dist.py", line 386, in finalize_options ep.require(installer=self.fetch_build_egg) File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2324, in require items = working_set.resolve(reqs, env, installer, extras=self.extras) File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 859, in resolve raise VersionConflict(dist, req).with_context(dependent_req) pkg_resources.VersionConflict: (six 1.5.2 (/usr/lib/python2.7/dist-packages), Requirement.parse('six>=1.6.0')) 

cuando ejecuto python setup.py develop

Aquí está mi archivo setup.py

 from setuptools import setup setup(name='bootops', version='0.1.1', description='Boo', url='http://github.com/boo/bootops', author='dude', author_email='dude', license='GPLv3', packages=['bootops'], package_data={'bootops': ['classes/*.py','classes/syptec/*.py','classes/syptec/tools/*.py']}, entry_points = { "console_scripts": ['bootops = bootops.bootops:main'] }, install_requires=[ 'six==1.6.0', 'setuptools>=11.3', 'boto', 'zc.zk', 'paramiko>=2.0', 'apache-libcloud', 'requests>=2.9.1', 'pyyaml', 'pytz', 'gevent', 'redis>=2.10.5', 'dnspython', 'jinja2', 'netaddr', 'python-nmap', 'scapy', 'hashids' ], zip_safe=False) 

Agregué lo siguiente al archivo de configuración, pero todavía me sale el error: seis == 1.6.0

    Si corro:

     pip install six==1.6.0 python setup.py develop 

    ¡Entonces funciona!

    Quiero decir wowee. ¿Por qué configurar y tratar los problemas por sí mismo?

    El archivo de configuración requiere que tengas una versión del módulo six mayor que 1.6.0 pero que tenías instalada la versión 1.5.2, por lo que genera una excepción de VersionConflict. Cuando instala la versión apropiada de six , se ejecuta correctamente porque ha cumplido con todos los requisitos de versión en su archivo setup.py.