Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is pyasn really necessary on macOS? #3793

Closed
datalogics-kam opened this issue Oct 18, 2018 · 3 comments

Comments

Projects
None yet
4 participants
@datalogics-kam
Copy link

commented Oct 18, 2018

To help us debug your issue please explain:

  • I've read the CONTRIBUTING guide.

  • I've specified the Conan version, operating system version and any tool that can be relevant.

  • I've explained the steps to reproduce the error or the motivation/use case of the question/suggestion.

  • macOS High Sierra 10.13.6

  • Conan 1.8.3

  • Python 3.6.5

  • Pipenv 2018.10.13

I'm going around and around with Pipenv, because it won't install Conan without --pre or the allow_prereleases setting. This is due to Conan depending on pyasn, which has never had a stable release, all betas.

If I do use allow_prereleases, then I start grabbing up development versions of Conan itself, as well as Conan's dependencies, which is not ideal.

For instance:

$ pipenv install 'conan~=1.8.3'
...
Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  First try clearing your dependency cache with $ pipenv lock --clear, then try the original command again.
 Alternatively, you can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
  Hint: try $ pipenv lock --pre if it is a pre-release dependency.
Could not find a version that matches pyasn<1.6.0,>=1.5.0b7
Skipped pre-versions: 1.5.0b4, 1.5.0b6, 1.5.0b7, 1.6.0b1
There are incompatible versions in the resolved dependencies.

If I allow prereleases, I get a prerelease Conan, which I don't want.

$ pipenv install 'conan~=1.8.3' --pre
...
$ pipenv graph
conan==1.8.4.dev1
  - astroid [required: >=1.6.5, installed: 2.1.0.dev0]
    - 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.12.8,<0.13, installed: 0.12.13]
  - colorama [required: >=0.3.3,<0.4.0, installed: 0.3.9]
  - cryptography [required: >=1.3.4,<2.4.0, installed: 2.3.1]
    - asn1crypto [required: >=0.21.0, installed: 0.24.0]
    - cffi [required: >=1.7,!=1.11.3, installed: 1.11.5]
      - pycparser [required: Any, installed: 2.19]
    - 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.6]
    - packaging [required: Any, installed: 18.0]
      - pyparsing [required: >=2.0.2, installed: 2.2.2]
      - 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.4.1,<0.5.0, 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.7,!=1.11.3, installed: 1.11.5]
          - pycparser [required: Any, installed: 2.19]
        - 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.5.0b7,<1.6.0, 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.1.0.dev0]
      - 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.7,!=1.11.3, installed: 1.11.5]
        - pycparser [required: Any, installed: 2.19]
      - 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.11,<3.14.0, installed: 3.13]
  - requests [required: >=2.7.0,<3.0.0, installed: 2.20.0]
    - certifi [required: >=2017.4.17, installed: 2018.10.15]
    - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
    - idna [required: >=2.5,<2.8, installed: 2.6]
    - urllib3 [required: >=1.21.1,<1.25, installed: 1.24]
  - six [required: >=1.10.0, installed: 1.11.0]
  - tqdm [required: >=4.27.0,<5.0, installed: 4.27.0]
  • According to libraries.io, Conan is the only package depending on pyasn.
  • If I search the source for Conan, I find no references to pyasn
  • pipenv graph doesn't show any of Conan's dependencies making reference to pyasn
  • If I comment pyasn out of requirements_osx.txt, I can still install Conan.
$ pipenv install -e ~/src/conan
...
$ pipenv graph
conan==1.8.1
  - 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]

It makes me wonder if it really belongs at all. Is it necessary? Can it be taken out? It'd make working with Pipenv a whole lot easier.

@memsharded

This comment has been minimized.

Copy link
Contributor

commented Oct 19, 2018

This is a very good point, and a perfect report, many thanks for it.
Sounds like it could be removed, lets try it.

@memsharded memsharded added this to the 1.9 milestone Oct 19, 2018

@jgsogo jgsogo assigned lasote and unassigned jgsogo Oct 19, 2018

@lasote lasote modified the milestones: 1.9, 1.8.4 Oct 19, 2018

@lasote lasote referenced this issue Oct 19, 2018

Merged

Release/1.8.4 #3802

@lasote lasote closed this Oct 19, 2018

@memsharded

This comment has been minimized.

Copy link
Contributor

commented Oct 19, 2018

@datalogics-kam fixed in release 1.8.4, please upgrade and report.

@datalogics-kam

This comment has been minimized.

Copy link
Author

commented Oct 19, 2018

@datalogics-kam fixed in release 1.8.4, please upgrade and report.

Yes! Thank you very much, and for the rapid response, too. It works great!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.