Skip to content

unresolved dependencies on systems without numpy/cython #18

@eric8he

Description

@eric8he

(In venv on a GCP Compute instance)

When installing libMR from pyPI, NumPy and Cython need to be installed prior to running the command. If NumPy is not installed, pip install libMR will not autoinstall NumPy.

Collecting libmr
  Downloading libmr-0.1.9.zip (39 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [6 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-3wdc7dhf/libmr_edbc28e8a014401faee3089c8d1808ea/setup.py", line 3, in <module>
          import numpy
      ModuleNotFoundError: No module named 'numpy'
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.`

If you install NumPy but not Cython, you get this error:

Collecting libmr
  Using cached libmr-0.1.9.zip (39 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [13 lines of output]
      Traceback (most recent call last):
        File "/tmp/pip-install-indw_1hl/libmr_1ca0e9faae0e4a4faa22c1d62f902c70/setup.py", line 6, in <module>
          from Cython.Build import cythonize
      ModuleNotFoundError: No module named 'Cython'
      
      During handling of the above exception, another exception occurred:
      
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-indw_1hl/libmr_1ca0e9faae0e4a4faa22c1d62f902c70/setup.py", line 8, in <module>
          raise ImportError("You must have Cython >=0.17 to build LibMR's python bindings!")
      ImportError: You must have Cython >=0.17 to build LibMR's python bindings!
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

It appears that the "preparing metadata" step in setup.py references those libraries before they are declared as dependencies of libMR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions