mljar / mercury

Convert Jupyter Notebooks to Web Apps
https://RunMercury.com
GNU Affero General Public License v3.0
3.99k stars 253 forks source link

Fail to install with pip on macOS #409

Closed spqw closed 9 months ago

spqw commented 9 months ago

System - macOS 14.2.1 Python version - python 3.12.1 installed with pyenv pip version 23.3.2

Logs

❯ pip install -U mercury
Collecting mercury
  Using cached mercury-2.3.7.tar.gz (2.6 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting django==4.2.2 (from mercury)
  Using cached Django-4.2.2-py3-none-any.whl.metadata (4.1 kB)
Collecting djangorestframework==3.14.0 (from mercury)
  Using cached djangorestframework-3.14.0-py3-none-any.whl (1.1 MB)
Collecting django-filter==21.1 (from mercury)
  Using cached django_filter-21.1-py3-none-any.whl (81 kB)
Collecting markdown==3.3.6 (from mercury)
  Using cached Markdown-3.3.6-py3-none-any.whl (97 kB)
Collecting celery>=5.1.2 (from mercury)
  Using cached celery-5.3.6-py3-none-any.whl.metadata (21 kB)
Collecting sqlalchemy==1.4.27 (from mercury)
  Using cached SQLAlchemy-1.4.27.tar.gz (7.9 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting gevent (from mercury)
  Using cached gevent-23.9.1-cp312-cp312-macosx_11_0_universal2.whl.metadata (13 kB)
Requirement already satisfied: nbconvert>=7.8.0 in /Users/lion/.pyenv/versions/jupyter/lib/python3.12/site-packages (from mercury) (7.14.0)
Collecting ipython-genutils (from mercury)
  Using cached ipython_genutils-0.2.0-py2.py3-none-any.whl (26 kB)
Collecting pyyaml==6.0 (from mercury)
  Using cached PyYAML-6.0.tar.gz (124 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [54 lines of output]
      running egg_info
      writing lib/PyYAML.egg-info/PKG-INFO
      writing dependency_links to lib/PyYAML.egg-info/dependency_links.txt
      writing top-level names to lib/PyYAML.egg-info/top_level.txt
      Traceback (most recent call last):
        File "/Users/lion/.pyenv/versions/jupyter/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/Users/lion/.pyenv/versions/jupyter/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/Users/lion/.pyenv/versions/jupyter/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/6y/z65zynvs5ybd0bgfpkn23f0h0000gr/T/pip-build-env-35gncomi/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/6y/z65zynvs5ybd0bgfpkn23f0h0000gr/T/pip-build-env-35gncomi/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires
          self.run_setup()
        File "/private/var/folders/6y/z65zynvs5ybd0bgfpkn23f0h0000gr/T/pip-build-env-35gncomi/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 311, in run_setup
          exec(code, locals())
        File "<string>", line 288, in <module>
        File "/private/var/folders/6y/z65zynvs5ybd0bgfpkn23f0h0000gr/T/pip-build-env-35gncomi/overlay/lib/python3.12/site-packages/setuptools/__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/6y/z65zynvs5ybd0bgfpkn23f0h0000gr/T/pip-build-env-35gncomi/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 185, in setup
          return run_commands(dist)
                 ^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/6y/z65zynvs5ybd0bgfpkn23f0h0000gr/T/pip-build-env-35gncomi/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
          dist.run_commands()
        File "/private/var/folders/6y/z65zynvs5ybd0bgfpkn23f0h0000gr/T/pip-build-env-35gncomi/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "/private/var/folders/6y/z65zynvs5ybd0bgfpkn23f0h0000gr/T/pip-build-env-35gncomi/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 963, in run_command
          super().run_command(command)
        File "/private/var/folders/6y/z65zynvs5ybd0bgfpkn23f0h0000gr/T/pip-build-env-35gncomi/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/private/var/folders/6y/z65zynvs5ybd0bgfpkn23f0h0000gr/T/pip-build-env-35gncomi/overlay/lib/python3.12/site-packages/setuptools/command/egg_info.py", line 321, in run
          self.find_sources()
        File "/private/var/folders/6y/z65zynvs5ybd0bgfpkn23f0h0000gr/T/pip-build-env-35gncomi/overlay/lib/python3.12/site-packages/setuptools/command/egg_info.py", line 329, in find_sources
          mm.run()
        File "/private/var/folders/6y/z65zynvs5ybd0bgfpkn23f0h0000gr/T/pip-build-env-35gncomi/overlay/lib/python3.12/site-packages/setuptools/command/egg_info.py", line 551, in run
          self.add_defaults()
        File "/private/var/folders/6y/z65zynvs5ybd0bgfpkn23f0h0000gr/T/pip-build-env-35gncomi/overlay/lib/python3.12/site-packages/setuptools/command/egg_info.py", line 589, in add_defaults
          sdist.add_defaults(self)
        File "/private/var/folders/6y/z65zynvs5ybd0bgfpkn23f0h0000gr/T/pip-build-env-35gncomi/overlay/lib/python3.12/site-packages/setuptools/command/sdist.py", line 112, in add_defaults
          super().add_defaults()
        File "/private/var/folders/6y/z65zynvs5ybd0bgfpkn23f0h0000gr/T/pip-build-env-35gncomi/overlay/lib/python3.12/site-packages/setuptools/_distutils/command/sdist.py", line 251, in add_defaults
          self._add_defaults_ext()
        File "/private/var/folders/6y/z65zynvs5ybd0bgfpkn23f0h0000gr/T/pip-build-env-35gncomi/overlay/lib/python3.12/site-packages/setuptools/_distutils/command/sdist.py", line 336, in _add_defaults_ext
          self.filelist.extend(build_ext.get_source_files())
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "<string>", line 204, in get_source_files
        File "/private/var/folders/6y/z65zynvs5ybd0bgfpkn23f0h0000gr/T/pip-build-env-35gncomi/overlay/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 107, in __getattr__
          raise AttributeError(attr)
      AttributeError: cython_sources
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
pplonski commented 9 months ago

Hi @spqw, Please try to use Python 3.11.

spqw commented 9 months ago

This worked with python 3.11.4 Thanks!

pplonski commented 9 months ago

Great! May I ask what would you like to build with Mercury?

spqw commented 9 months ago

I am exploring ways to set up a deployment / automation pipeline as a simpler alternative to tools like the following

What are preferred ways to implement scheduling?

pplonski commented 9 months ago

What would you like to schedule? How many jobs and how long they run? Could you please provide some details?

spqw commented 8 months ago

By scheduling I mean triggering some scripts at a given time during the week (in the context of a deployment pipeline) Mostly HTTP requests using curl : post a message to slack, create a version in Jira, Also triggering a Github Actions job and show the output Some git operations too

So something around 10 or 20 jobs I'll start looking at jupyter-scheduler