FMM3D icon indicating copy to clipboard operation
FMM3D copied to clipboard

make python and pip install fail on MacOS

Open lucianogsilvestri opened this issue 1 year ago • 2 comments

Hi

I am unable to install python wrappers. I have tried several things

  • pip install:

Running the command pip install fmm3dpy gives

ERROR: Could not find a version that satisfies the requirement fmm3dpy (from versions: none)
ERROR: No matching distribution found for fmm3dpy
  • make python:

Following the instructions on the website, I ran make install and successfully installed FMM3D. I then tried make python but i get the following

ERROR: Exception:
Traceback (most recent call last):
  File "/Users/silves28/anaconda3/envs/sarkas/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper
    status = run_func(*args)
  File "/Users/silves28/anaconda3/envs/sarkas/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 248, in wrapper
    return func(self, options, args)
  File "/Users/silves28/anaconda3/envs/sarkas/lib/python3.9/site-packages/pip/_internal/commands/install.py", line 377, in run
    requirement_set = resolver.resolve(
  File "/Users/silves28/anaconda3/envs/sarkas/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 73, in resolve
    collected = self.factory.collect_root_requirements(root_reqs)
  File "/Users/silves28/anaconda3/envs/sarkas/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 491, in collect_root_requirements
    req = self._make_requirement_from_install_req(
  File "/Users/silves28/anaconda3/envs/sarkas/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 453, in _make_requirement_from_install_req
    cand = self._make_candidate_from_link(
  File "/Users/silves28/anaconda3/envs/sarkas/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 185, in _make_candidate_from_link
    self._editable_candidate_cache[link] = EditableCandidate(
  File "/Users/silves28/anaconda3/envs/sarkas/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 318, in __init__
    super().__init__(
  File "/Users/silves28/anaconda3/envs/sarkas/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__
    self.dist = self._prepare()
  File "/Users/silves28/anaconda3/envs/sarkas/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 225, in _prepare
    dist = self._prepare_distribution()
  File "/Users/silves28/anaconda3/envs/sarkas/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 328, in _prepare_distribution
    return self._factory.preparer.prepare_editable_requirement(self._ireq)
  File "/Users/silves28/anaconda3/envs/sarkas/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", line 709, in prepare_editable_requirement
    dist = _get_prepared_distribution(
  File "/Users/silves28/anaconda3/envs/sarkas/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", line 69, in _get_prepared_distribution
    abstract_dist.prepare_distribution_metadata(
  File "/Users/silves28/anaconda3/envs/sarkas/lib/python3.9/site-packages/pip/_internal/distributions/sdist.py", line 46, in prepare_distribution_metadata
    self.req.isolated_editable_sanity_check()
  File "/Users/silves28/anaconda3/envs/sarkas/lib/python3.9/site-packages/pip/_internal/req/req_install.py", line 528, in isolated_editable_sanity_check
    and not self.supports_pyproject_editable()
  File "/Users/silves28/anaconda3/envs/sarkas/lib/python3.9/site-packages/pip/_internal/req/req_install.py", line 243, in supports_pyproject_editable
    return "build_editable" in self.pep517_backend._supported_features()
  File "/Users/silves28/anaconda3/envs/sarkas/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 153, in _supported_features
    return self._call_hook('_supported_features', {})
  File "/Users/silves28/anaconda3/envs/sarkas/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_impl.py", line 321, in _call_hook
    raise BackendUnavailable(data.get('traceback', ''))
pip._vendor.pyproject_hooks._impl.BackendUnavailable: Traceback (most recent call last):
  File "/Users/silves28/anaconda3/envs/sarkas/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 77, in _build_backend
    obj = import_module(mod_path)
  File "/Users/silves28/anaconda3/envs/sarkas/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'setuptools'

However, setuptools is already installed, version 68.0.0

I am using Python 3.9.17 and pip 23.2.1, System: Chip: Apple M2 Max MacOS: ventura 13.4

Thanks for your help

lucianogsilvestri avatar Aug 03 '23 13:08 lucianogsilvestri

Hi We just made a commit to update pyproject.toml and disable editable mode installation for now, let us know if it works now? Anyway, we are going to switch to pyproject.toml with scikit-build-core or meson for python build soon.

lu1and10 avatar Aug 03 '23 15:08 lu1and10

Thanks @lu1and10. I was able to install the python wrappers via make python after pulling the new commit.

lucianogsilvestri avatar Aug 07 '23 19:08 lucianogsilvestri