ipums / ipumspy

Mozilla Public License 2.0
8 stars 6 forks source link

Unable to `pip install ipumspy` #90

Closed marcdelabarrera closed 1 year ago

marcdelabarrera commented 1 year ago

I'm trying to install ipumspy. I did it in the past without problem. Are you awhare of this issue?

Collecting ipumspy
  Using cached ipumspy-0.4.0-py3-none-any.whl (68 kB)
Requirement already satisfied: requests[use-chardet-on-py3]<3.0.0,>=2.26.0 in /bbkinghome/mbarrera/miniconda3/lib/python3.10/site-packages (from ipumspy) (2.28.1)
Collecting PyYAML<6.0.0,>=5.4.1
  Using cached PyYAML-5.4.1.tar.gz (175 kB)
  Installing build dependencies ...   Getting requirements to build wheel ... error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [62 lines of output]
      /tmp/pip-build-env-td9_64m_/overlay/lib/python3.10/site-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg`
      !!

              ********************************************************************************
              The license_file parameter is deprecated, use license_files instead.

              By 2023-Oct-30, you need to update your project and remove deprecated calls
              or your builds will no longer be supported.

              See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
              ********************************************************************************
khwilson commented 1 year ago

It looks like the underlying issue is that Cython3 got released and a lot of the python ecosystem is catching up!

@renae-r I think the correct thing here is to monitor https://github.com/yaml/pyyaml/issues/724 and see how that ends up getting resolved.

Alternatively, if you are interested, I'm happy to set up cibuildwheel which would probably fix this :-)

renae-r commented 1 year ago

Yep, it does look like the Cython3 breaking of pyYAML is the culprit here. It does seem like the thing to do is wait for the ipumspy dependencies to catch up to the Cython3 release.

@khwilson, can you explain how cibuildwheel might fix this? poetry already builds a python wheel and publishes it to pypi, what does the cibuildwheel add (apart from apparently better integration of wheel testing)?

khwilson commented 1 year ago

@renae-r I realize that I misread the error now! I thought that it was the ipumspy wheel that was ultimately causing the issue, but it is in fact PyYAML's wheel, so this would not help at all! Apologies

renae-r commented 1 year ago

@khwilson , no worries! I'm glad that I wasn't missing something obvious!

econstack commented 1 year ago

It seems that pyYAML 6.0.0 works with python 3.10 and 3.11 but ipumspy constrains the pyYAML version to <6.0.0 and >=5.4.1. Would it be possible to drop the '<6.0.0' constraint?

For context, I am installing in a docker image based on jupyter-pyspark which uses python 3.11 and this breaks when installing from the 'requirements.txt' when it comes to ipumspy==0.4.0

renae-r commented 1 year ago

This problem is fixed in [v0.4.1](PR #91 ) of ipumspy. This newest version is currently pip install-able and will be available on conda forge soon as well. Thank you for bringing this to our attention!