guohongze / adminset

自动化运维平台:CMDB、CD、DevOps、资产管理、任务编排、持续交付、系统监控、运维管理、配置管理
http://adminset.cn
GNU General Public License v2.0
3.26k stars 1.42k forks source link

Installation fails due to conflicting pyasn1 version #122

Open NeolithEra opened 5 years ago

NeolithEra commented 5 years ago

Hi, users are unable to run adminset due to dependency conflict with pyasn1 package. As shown in the following full dependency graph of adminset, adminset requires pyasn1==0.4.1,while pyasn1-modules==0.2.6 requires pyasn1>=0.4.6,<0.5.0.

According to pip’s “first found wins” installation strategy, pyasn1==0.4.1 is the actually installed version. However, pyasn1==0.4.1 does not satisfy pyasn1>=0.4.6,<0.5.0.

Dependency tree-------

adminset-0.56.3
| +-ansible(version range:==2.7.8)
| +-asn1crypto(version range:==0.23.0)
| +-bcrypt(version range:==3.1.4)
| +-celery(version range:==4.2.1)
| +-cffi(version range:==1.11.2)
| +-cryptography(version range:==2.3)
| +-django(version range:==1.11.20)
| | +-pytz(version range:*)
| +-django-auth-ldap(version range:==1.7.0)
| | +-django(version range:>=1.11)
| | | +-pytz(version range:*)
| | +-python-ldap(version range:>=3.1)
| | | +-pyasn1(version range:>=0.3.7)
| | | +-pyasn1-modules(version range:>=0.1.5)
| | | | +-pyasn1(version range:>=0.4.6,<0.5.0)
| +-django-celery-beat(version range:==1.1.1)
| +-django-db(version range:==0.0.7)
| | +-django(version range:*)
| | | +-pytz(version range:*)
| | +-pymysql(version range:*)
| +-django-storages(version range:==1.6.5)
| +-enum34(version range:==1.1.6)
| +-gunicorn(version range:==19.7.1)
| | +-sphinx(version range:*)
| | | +-alabaster(version range:*)
| | | +-alabaster(version range:>=0.7,<0.8)
| | | +-alabaster(version range:<0.8,>=0.7)
| | | +-babel(version range:*)
| | | | +-pytz(version range:>=0a)
| | | +-babel(version range:>=1.3)
| | | | +-pytz(version range:>=0a)
| | | +-colorama(version range:*)
| | | +-colorama(version range:>=0.3.5)
| | | +-docutils(version range:>=0.10)
| | | +-docutils(version range:>=0.11)
| | | +-docutils(version range:>=0.12)
| | | +-imagesize(version range:*)
| | | +-jinja2(version range:>=2.3)
| | | | +-MarkupSafe(version range:>=0.23)
| | | +-packaging(version range:*)
| | | +-Pygments(version range:>=1.2)
| | | | +-coverage(version range:*)
| | | | +-nose(version range:*)
| | | | +-pyflakes(version range:*)
| | | | +-pylint(version range:*)
| | | | +-tox(version range:*)
| | | +-pygments(version range:>=2.0)
| | | | +-coverage(version range:*)
| | | | +-nose(version range:*)
| | | | +-pyflakes(version range:*)
| | | | +-pylint(version range:*)
| | | | +-tox(version range:*)
| | | +-requests(version range:*)
| | | | +-certifi(version range:>=2017.4.17)
| | | | +-chardet(version range:<3.1.0,>=3.0.2)
| | | | +-idna(version range:>=2.5,<2.8)
| | | | +-urllib3(version range:>=1.21.1,<1.25)
| | | +-requests(version range:>=2.0.0)
| | | | +-certifi(version range:>=2017.4.17)
| | | | +-chardet(version range:<3.1.0,>=3.0.2)
| | | | +-idna(version range:>=2.5,<2.8)
| | | | +-urllib3(version range:>=1.21.1,<1.25)
| | | +-requests(version range:>=2.5.0)
| | | | +-certifi(version range:>=2017.4.17)
| | | | +-chardet(version range:<3.1.0,>=3.0.2)
| | | | +-idna(version range:>=2.5,<2.8)
| | | | +-urllib3(version range:>=1.21.1,<1.25)
| | | +-setuptools(version range:*)
| | | +-six(version range:>=1.4)
| | | +-six(version range:>=1.5)
| | | +-snowballstemmer(version range:>=1.1)
| | | +-sphinxcontrib-applehelp(version range:*)
| | | +-sphinxcontrib-devhelp(version range:*)
| | | +-sphinxcontrib-htmlhelp(version range:*)
| | | +-sphinxcontrib-jsmath(version range:*)
| | | +-sphinxcontrib-qthelp(version range:*)
| | | +-sphinxcontrib-serializinghtml(version range:*)
| | | +-sphinxcontrib-websupport(version range:*)
| | | +-sphinx_rtd_theme(version range:*)
| | | +-sphinx_rtd_theme(version range:>=0.1,<2.0)
| | | +-typing(version range:*)
| | +-sphinx-rtd-theme(version range:*)
| | | +-sphinx(version range:*)
| | | | +-alabaster(version range:*)
| | | | +-alabaster(version range:>=0.7,<0.8)
| | | | +-alabaster(version range:<0.8,>=0.7)
| | | | +-babel(version range:*)
| | | | | +-pytz(version range:>=0a)
| | | | +-babel(version range:>=1.3)
| | | | | +-pytz(version range:>=0a)
| | | | +-colorama(version range:*)
| | | | +-colorama(version range:>=0.3.5)
| | | | +-docutils(version range:>=0.10)
| | | | +-docutils(version range:>=0.11)
| | | | +-docutils(version range:>=0.12)
| | | | +-imagesize(version range:*)
| | | | +-jinja2(version range:>=2.3)
| | | | | +-MarkupSafe(version range:>=0.23)
| | | | +-packaging(version range:*)
| | | | +-Pygments(version range:>=1.2)
| | | | | +-coverage(version range:*)
| | | | | +-nose(version range:*)
| | | | | +-pyflakes(version range:*)
| | | | | +-pylint(version range:*)
| | | | | +-tox(version range:*)
| | | | +-pygments(version range:>=2.0)
| | | | | +-coverage(version range:*)
| | | | | +-nose(version range:*)
| | | | | +-pyflakes(version range:*)
| | | | | +-pylint(version range:*)
| | | | | +-tox(version range:*)
| | | | +-requests(version range:*)
| | | | | +-certifi(version range:>=2017.4.17)
| | | | | +-chardet(version range:<3.1.0,>=3.0.2)
| | | | | +-idna(version range:>=2.5,<2.8)
| | | | | +-urllib3(version range:>=1.21.1,<1.25)
| | | | +-requests(version range:>=2.0.0)
| | | | | +-certifi(version range:>=2017.4.17)
| | | | | +-chardet(version range:<3.1.0,>=3.0.2)
| | | | | +-idna(version range:>=2.5,<2.8)
| | | | | +-urllib3(version range:>=1.21.1,<1.25)
| | | | +-requests(version range:>=2.5.0)
| | | | | +-certifi(version range:>=2017.4.17)
| | | | | +-chardet(version range:<3.1.0,>=3.0.2)
| | | | | +-idna(version range:>=2.5,<2.8)
| | | | | +-urllib3(version range:>=1.21.1,<1.25)
| | | | +-setuptools(version range:*)
| | | | +-six(version range:>=1.4)
| | | | +-six(version range:>=1.5)
| | | | +-snowballstemmer(version range:>=1.1)
| | | | +-sphinxcontrib-applehelp(version range:*)
| | | | +-sphinxcontrib-devhelp(version range:*)
| | | | +-sphinxcontrib-htmlhelp(version range:*)
| | | | +-sphinxcontrib-jsmath(version range:*)
| | | | +-sphinxcontrib-qthelp(version range:*)
| | | | +-sphinxcontrib-serializinghtml(version range:*)
| | | | +-sphinxcontrib-websupport(version range:*)
| | | | +-sphinx_rtd_theme(version range:*)
| | | | +-sphinx_rtd_theme(version range:>=0.1,<2.0)
| | | | +-typing(version range:*)
| +-idna(version range:==2.6)
| +-ipaddress(version range:==1.0.18)
| +-ldap3(version range:==2.5.1)
| +-mysqlclient(version range:==1.3.12)
| +-olefile(version range:==0.44)
| +-paramiko(version range:==2.4.2)
| | +-bcrypt(version range:>=3.1.3)
| | +-cryptography(version range:>=1.5)
| | +-pyasn1(version range:>=0.1.7)
| | +-pynacl(version range:>=1.0.1)
| | | +-six(version range:*)
| +-pillow(version range:==4.3.0)
| +-psutil(version range:==5.2.2)
| +-pyasn1(version range:==0.4.1)
| +-pycparser(version range:==2.18)
| +-pymongo(version range:==3.3.0)
| +-pynacl(version range:==1.2.0)
| | +-six(version range:*)
| +-pytest(version range:==3.0.7)
| +-python-ldap(version range:==3.1.0)
| | +-pyasn1(version range:>=0.3.7)
| | +-pyasn1-modules(version range:>=0.1.5)
| | | +-pyasn1(version range:>=0.4.6,<0.5.0)
| +-python-magic(version range:==0.4.3)
| +-pytz(version range:==2017.3)
| +-redis(version range:==2.10.5)
| +-requests(version range:==2.20.0)
| | +-certifi(version range:>=2017.4.17)
| | +-chardet(version range:<3.1.0,>=3.0.2)
| | +-idna(version range:>=2.5,<2.8)
| | +-urllib3(version range:>=1.21.1,<1.25)
| +-schedule(version range:==0.4.3)
| +-sh(version range:==1.12.9)
| +-six(version range:==1.11.0)
| +-tornado(version range:==5.1.1)

Thanks for your help. Best, Neolith

NeolithEra commented 5 years ago

Solution

  1. Loosen version constraint of pyasn1 to >=0.4.1.
  2. Upgrade pyasn1 to ==0.4.6.
  3. Add pyasn1-modules == 0.2.1 as a direct dependency in the requirement.txt

Which solution do you prefer, 1, 2 or 3? @guohongze Please let me know your choice. I can submit a PR to solve this issue.