conan-io / conan-package-tools

Conan Package Tools. Helps with massive package creation and CI integration (Travis CI, Appveyor...)
MIT License
165 stars 70 forks source link

Conan package tools won't import with Conan 1.7 #256

Closed datalogics-kam closed 6 years ago

datalogics-kam commented 6 years ago

conan-io/conan#3381 refactored the loader, resulting in the following errors when attempting to use the ConanMultiPackager:

  File "/Users/kam/.virtualenvs/xxxxxx-b0kvYMu2/lib/python3.6/site-packages/dl_conan_build_tools/tasks/build.py", line 8, in <module>
    from . import conan
  File "/Users/kam/.virtualenvs/xxxxxx-b0kvYMu2/lib/python3.6/site-packages/dl_conan_build_tools/tasks/conan.py", line 9, in <module>
    from cpt.packager import ConanMultiPackager
  File "/Users/kam/.virtualenvs/xxxxxx-b0kvYMu2/lib/python3.6/site-packages/cpt/packager.py", line 9, in <module>
    from conans.client.loader_parse import load_conanfile_class
ModuleNotFoundError: No module named 'conans.client.loader_parse'

Output of pipenv graph:

compdb==0.2.0
cpplint==1.3.0
dl-conan-build-tools==1.0.0
  - conan [required: >=1.4.0,<2.0, installed: 1.7.3.dev0]
    - astroid [required: >=1.6.5, installed: 2.0.4]
      - lazy-object-proxy [required: Any, installed: 1.3.1]
      - six [required: Any, installed: 1.11.0]
      - typed-ast [required: Any, installed: 1.1.0]
      - wrapt [required: Any, installed: 1.10.11]
    - bottle [required: <0.13,>=0.12.8, installed: 0.12.13]
    - colorama [required: <0.4.0,>=0.3.3, installed: 0.3.9]
    - cryptography [required: <2.4.0,>=1.3.4, installed: 2.3.1]
      - asn1crypto [required: >=0.21.0, installed: 0.24.0]
      - cffi [required: !=1.11.3,>=1.7, installed: 1.11.5]
        - pycparser [required: Any, installed: 2.18]
      - idna [required: >=2.1, installed: 2.6]
      - six [required: >=1.4.1, installed: 1.11.0]
    - deprecation [required: >=2.0,<2.1, installed: 2.0.5]
      - packaging [required: Any, installed: 17.1]
        - pyparsing [required: >=2.0.2, installed: 2.2.0]
        - six [required: Any, installed: 1.11.0]
    - distro [required: >=1.0.2,<1.2.0, installed: 1.1.0]
    - fasteners [required: >=0.14.1, installed: 0.14.1]
      - monotonic [required: >=0.1, installed: 1.5]
      - six [required: Any, installed: 1.11.0]
    - future [required: ==0.16.0, installed: 0.16.0]
    - idna [required: ==2.6, installed: 2.6]
    - ndg-httpsclient [required: <0.5.0,>=0.4.1, installed: 0.4.4]
      - pyasn1 [required: >=0.1.1, installed: 0.4.4]
      - PyOpenSSL [required: Any, installed: 17.5.0]
        - cryptography [required: >=2.1.4, installed: 2.3.1]
          - asn1crypto [required: >=0.21.0, installed: 0.24.0]
          - cffi [required: !=1.11.3,>=1.7, installed: 1.11.5]
            - pycparser [required: Any, installed: 2.18]
          - idna [required: >=2.1, installed: 2.6]
          - six [required: >=1.4.1, installed: 1.11.0]
        - six [required: >=1.5.2, installed: 1.11.0]
    - node-semver [required: ==0.2.0, installed: 0.2.0]
    - patch [required: ==1.16, installed: 1.16]
    - pluginbase [required: >=0.5,<1.0, installed: 0.7]
    - pyasn [required: <1.6.0,>=1.5.0b7, installed: 1.5.0b7]
    - pygments [required: >=2.0,<3.0, installed: 2.2.0]
    - PyJWT [required: >=1.4.0,<2.0.0, installed: 1.6.4]
    - pylint [required: >=1.9.3, installed: 2.1.1]
      - astroid [required: >=2.0.0, installed: 2.0.4]
        - lazy-object-proxy [required: Any, installed: 1.3.1]
        - six [required: Any, installed: 1.11.0]
        - typed-ast [required: Any, installed: 1.1.0]
        - wrapt [required: Any, installed: 1.10.11]
      - isort [required: >=4.2.5, installed: 4.3.4]
      - mccabe [required: Any, installed: 0.6.1]
    - pyOpenSSL [required: >=16.0.0,<18.0.0, installed: 17.5.0]
      - cryptography [required: >=2.1.4, installed: 2.3.1]
        - asn1crypto [required: >=0.21.0, installed: 0.24.0]
        - cffi [required: !=1.11.3,>=1.7, installed: 1.11.5]
          - pycparser [required: Any, installed: 2.18]
        - idna [required: >=2.1, installed: 2.6]
        - six [required: >=1.4.1, installed: 1.11.0]
      - six [required: >=1.5.2, installed: 1.11.0]
    - PyYAML [required: <3.14.0,>=3.11, installed: 3.12]
    - requests [required: <3.0.0,>=2.7.0, installed: 2.19.1]
      - certifi [required: >=2017.4.17, installed: 2018.8.24]
      - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
      - idna [required: <2.8,>=2.5, installed: 2.6]
      - urllib3 [required: <1.24,>=1.21.1, installed: 1.23]
    - six [required: >=1.10.0, installed: 1.11.0]
  - conan-package-tools [required: <0.18,>=0.17.3, installed: 0.17.5]
    - conan [required: >=0.22.0, installed: 1.7.3.dev0]
      - astroid [required: >=1.6.5, installed: 2.0.4]
        - lazy-object-proxy [required: Any, installed: 1.3.1]
        - six [required: Any, installed: 1.11.0]
        - typed-ast [required: Any, installed: 1.1.0]
        - wrapt [required: Any, installed: 1.10.11]
      - bottle [required: <0.13,>=0.12.8, installed: 0.12.13]
      - colorama [required: <0.4.0,>=0.3.3, installed: 0.3.9]
      - cryptography [required: <2.4.0,>=1.3.4, installed: 2.3.1]
        - asn1crypto [required: >=0.21.0, installed: 0.24.0]
        - cffi [required: !=1.11.3,>=1.7, installed: 1.11.5]
          - pycparser [required: Any, installed: 2.18]
        - idna [required: >=2.1, installed: 2.6]
        - six [required: >=1.4.1, installed: 1.11.0]
      - deprecation [required: >=2.0,<2.1, installed: 2.0.5]
        - packaging [required: Any, installed: 17.1]
          - pyparsing [required: >=2.0.2, installed: 2.2.0]
          - six [required: Any, installed: 1.11.0]
      - distro [required: >=1.0.2,<1.2.0, installed: 1.1.0]
      - fasteners [required: >=0.14.1, installed: 0.14.1]
        - monotonic [required: >=0.1, installed: 1.5]
        - six [required: Any, installed: 1.11.0]
      - future [required: ==0.16.0, installed: 0.16.0]
      - idna [required: ==2.6, installed: 2.6]
      - ndg-httpsclient [required: <0.5.0,>=0.4.1, installed: 0.4.4]
        - pyasn1 [required: >=0.1.1, installed: 0.4.4]
        - PyOpenSSL [required: Any, installed: 17.5.0]
          - cryptography [required: >=2.1.4, installed: 2.3.1]
            - asn1crypto [required: >=0.21.0, installed: 0.24.0]
            - cffi [required: !=1.11.3,>=1.7, installed: 1.11.5]
              - pycparser [required: Any, installed: 2.18]
            - idna [required: >=2.1, installed: 2.6]
            - six [required: >=1.4.1, installed: 1.11.0]
          - six [required: >=1.5.2, installed: 1.11.0]
      - node-semver [required: ==0.2.0, installed: 0.2.0]
      - patch [required: ==1.16, installed: 1.16]
      - pluginbase [required: >=0.5,<1.0, installed: 0.7]
      - pyasn [required: <1.6.0,>=1.5.0b7, installed: 1.5.0b7]
      - pygments [required: >=2.0,<3.0, installed: 2.2.0]
      - PyJWT [required: >=1.4.0,<2.0.0, installed: 1.6.4]
      - pylint [required: >=1.9.3, installed: 2.1.1]
        - astroid [required: >=2.0.0, installed: 2.0.4]
          - lazy-object-proxy [required: Any, installed: 1.3.1]
          - six [required: Any, installed: 1.11.0]
          - typed-ast [required: Any, installed: 1.1.0]
          - wrapt [required: Any, installed: 1.10.11]
        - isort [required: >=4.2.5, installed: 4.3.4]
        - mccabe [required: Any, installed: 0.6.1]
      - pyOpenSSL [required: >=16.0.0,<18.0.0, installed: 17.5.0]
        - cryptography [required: >=2.1.4, installed: 2.3.1]
          - asn1crypto [required: >=0.21.0, installed: 0.24.0]
          - cffi [required: !=1.11.3,>=1.7, installed: 1.11.5]
            - pycparser [required: Any, installed: 2.18]
          - idna [required: >=2.1, installed: 2.6]
          - six [required: >=1.4.1, installed: 1.11.0]
        - six [required: >=1.5.2, installed: 1.11.0]
      - PyYAML [required: <3.14.0,>=3.11, installed: 3.12]
      - requests [required: <3.0.0,>=2.7.0, installed: 2.19.1]
        - certifi [required: >=2017.4.17, installed: 2018.8.24]
        - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
        - idna [required: <2.8,>=2.5, installed: 2.6]
        - urllib3 [required: <1.24,>=1.21.1, installed: 1.23]
      - six [required: >=1.10.0, installed: 1.11.0]
    - requests [required: Any, installed: 2.19.1]
      - certifi [required: >=2017.4.17, installed: 2018.8.24]
      - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
      - idna [required: <2.8,>=2.5, installed: 2.6]
      - urllib3 [required: <1.24,>=1.21.1, installed: 1.23]
    - six [required: >=1.10.0, installed: 1.11.0]
    - tabulate [required: ==0.8.2, installed: 0.8.2]
  - invoke [required: >=0.22.1,<0.23, installed: 0.22.1]
  - pyyaml [required: >=3.11,<3.13.0, installed: 3.12]
  - requests [required: <3.0,>=2.18.4, installed: 2.19.1]
    - certifi [required: >=2017.4.17, installed: 2018.8.24]
    - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
    - idna [required: <2.8,>=2.5, installed: 2.6]
    - urllib3 [required: <1.24,>=1.21.1, installed: 1.23]
  - yamlreader [required: <3.1,>=3.0.4, installed: 3.0.4]
    - PyYAML [required: Any, installed: 3.12]
    - six [required: Any, installed: 1.11.0]
GitPython==2.1.11
  - gitdb2 [required: >=2.0.0, installed: 2.0.4]
    - smmap2 [required: >=2.0.0, installed: 2.0.4]
danimtb commented 6 years ago

This was fixed in conan-package-tools 0.18.5 https://github.com/conan-io/conan-package-tools/releases/tag/0.18.5 and you are using 0.17.5

Please update to the latest version of conan-package-tools whenever possible. Thanks!

datalogics-kam commented 6 years ago

Thanks. My bad; sometimes for pre-release code, I consider minor version numbers to be breaking. This is a fear installed by badly behaved projects on a different language platform. I'll expand the range for CPT to be <1.0.

danimtb commented 6 years ago

Great @datalogics-kam! Normally conan-package-tools updates to keep the pace of conan releases, so expanding the range would be save enough 😄